EF- '' 和 '' 都映射到表 ''。层次结构中没有鉴别器的所有实体类型必须映射到不同的表
Posted
技术标签:
【中文标题】EF- \'\' 和 \'\' 都映射到表 \'\'。层次结构中没有鉴别器的所有实体类型必须映射到不同的表【英文标题】:EF- Both '' and '' are mapped to the table ''. All the entity types in a hierarchy that don't have a discriminator must be mapped to different tablesEF- '' 和 '' 都映射到表 ''。层次结构中没有鉴别器的所有实体类型必须映射到不同的表 【发布时间】:2021-11-05 07:55:54 【问题描述】:在运行Add-Migration
命令时出现以下Microsoft.EntityFrameworkCore 5.0.9
异常。
System.InvalidOperationException: '' 和 '' 映射到表 ''。所有的 层次结构中没有鉴别器的实体类型必须是 映射到不同的表。看 https://go.microsoft.com/fwlink/?linkid=2130430 了解更多信息。
【问题讨论】:
【参考方案1】:如果您使用 Table-per-type configuration
并且不为各个表创建映射,则会发生此异常。
https://docs.microsoft.com/en-gb/ef/core/modeling/inheritance#table-per-type-configuration
通过将其添加到DbContext
解决它:
modelBuilder.Entity<NewEntity>().ToTable("NewEntities");
【讨论】:
以上是关于EF- '' 和 '' 都映射到表 ''。层次结构中没有鉴别器的所有实体类型必须映射到不同的表的主要内容,如果未能解决你的问题,请参考以下文章