C# 实体不能配置为无键,因为它是派生类型
我有一个ClassC# 实体不能配置为无键,因为它是派生类型,c#,sql,entity-framework-core,C#,Sql,Entity Framework Core,我有一个ClassApplicationUser和一个ClassvwUserConfigvwUserConfig是数据库中的一个视图,它包含ApplicationUser的所有列,包括更多的列 我想要并且需要,vwUserConfig从ApplicationUser继承。但在配置视图时: modelBuilder.Entity了解更多信息 在仔细研究之后,我意识到出于某种原因,EF Core仍然认为VwUserConfig应该still映射到AspNetUsers,即使我正在调用.ToView(
ApplicationUser
和一个ClassvwUserConfig
vwUserConfig
是数据库中的一个视图,它包含ApplicationUser
的所有列,包括更多的列
我想要并且需要,vwUserConfig
从ApplicationUser
继承。但在配置视图时:
modelBuilder.Entity了解更多信息
在仔细研究之后,我意识到出于某种原因,EF Core仍然认为VwUserConfig
应该still映射到AspNetUsers
,即使我正在调用.ToView()
。为了避免这种情况,我不得不做这个黑客:
modelBuilder.Entity<VwUserConfig>().ToTable("jcudncyd").ToView("vwUserConfig");
modelBuilder.Entity().ToTable(“jcudncyd”).ToView(“vwUserConfig”);
我必须将它分配到一个随机的、不存在的表中,才能将它取消映射(?)到AspNetUsers
。这似乎是一个bug。您能按照错误消息的建议执行吗根类型“ApplicationUser”必须配置为无键,而不是
@RobertHarvey我不能这样做,ApplicationUser确实有一个键并且有自己的表。第二条错误消息说,层次结构中没有鉴别器的所有实体类型都必须映射到不同的表
@RobertHarvey,因为它映射到了不同的表。ApplicationUser映射到AspNetUsers,而vwUserConfig映射到vwUserConfig第二条错误消息还说,两个“vwUserConfig”和“ApplicationUser”都映射到表“AspNetUsers”
——为什么它会这样认为?