我有一个多模块项目,其中每个模块定义自己的实体。主程序扫描代表模块的程序集以获取 EntityTypeConfiguration<>
对于每个实体(通过 modelBuidler.LoadFromAssembly()
)。
场景:
实体Product
来自module1
映射到表products
实体WarehouseProduct
它继承自 Product
(上面定义)并添加一些与仓储相关的其他属性并映射到同一个表products
.
两个实体代表同一个对象,只需创建一些有界上下文,每个上下文仅提供对相关属性的访问权限!
问题:
我不知道该怎么做! DbContext(当尝试创建数据库时)提示两个类不能共享同一个表!
注意:
两个类Product
和WarehouseProduct
有一个共同的祖先,它将共同的属性分组。
编辑1:
即使尝试将公共(public)部分映射为 ComplexType 也不起作用,DbContext 提示两个实体 Product
和WarehouseProduct
不属于同一类型层次结构。
最佳答案
我使用了上下文化(我不知道这个词是否存在;))DbMigrations 配置(每个配置特定于单个模块并具有不同的 ContextKey
)解决我的问题。
关于mysql - 如何将多个类(相同的实体但具有增强的属性)映射到同一个数据库表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44437686/