我有一个多模块项目,每个模块都定义了自己的实体。主程序扫描表示模块的程序集,以获取每个实体的EntityTypeConfiguration<>
(通过modelBuidler.LoadFromAssembly()
)。
情景:
来自Product
的实体module1
已映射到表products
实体WarehouseProduct
从Product
继承(在上面定义)并添加一些与仓储相关的其他属性,并映射到相同的表 products
。
两个实体代表同一个对象它只是创建一些有界上下文,每个只提供对相关属性的访问权!
问题:
我无法弄清楚如何做到这一点! DbContext(当试图创建数据库时)抱怨两个类都不能共享同一个表!
注意:
两个类Product
和WarehouseProduct
都有一个共同的祖先,它将公共属性分组。
修改1:
即使尝试将公共部分映射为ComplexType也不起作用,DbContext会抱怨实体Product
和WarehouseProduct
不在同一类型层次结构中。
答案 0 :(得分:0)
我使用 contextualized (我不知道该单词是否存在;)DbMigrations配置(每个配置特定于单个模块并具有不同的ContextKey
)来解决我的问题。