mysql - 如何将多个类(相同的实体但具有增强的属性)映射到同一个数据库表?

标签 mysql entity-framework-6 dbcontext

我有一个多模块项目,其中每个模块定义自己的实体。主程序扫描代表模块的程序集以获取 EntityTypeConfiguration<>对于每个实体(通过 modelBuidler.LoadFromAssembly() )。

场景:

实体Product来自module1映射到表products

实体WarehouseProduct继承Product (上面定义)并添加一些与仓储相关的其他属性并映射到同一个表products .

两个实体代表同一个对象,只需创建一些有界上下文,每个上下文仅提供对相关属性的访问权限!

问题:

我不知道该怎么做! DbContext(当尝试创建数据库时)提示两个类不能共享同一个表!

注意:

两个类ProductWarehouseProduct有一个共同的祖先,它将共同的属性分组。

编辑1:

即使尝试将公共(public)部分映射为 ComplexType 也不起作用,DbContext 提示两个实体 ProductWarehouseProduct不属于同一类型层次结构。

最佳答案

我使用了上下文化(我不知道这个词是否存在;))DbMigrations 配置(每个配置特定于单个模块并具有不同的 ContextKey)解决我的问题。

关于mysql - 如何将多个类(相同的实体但具有增强的属性)映射到同一个数据库表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44437686/

相关文章:

php - 比较 MySQL 数据库中的两个时间值

mysql 选择如果每个用户的值计数大于 1

c# - 使用 linq 从包含字段名称和字段值的列表中选择(类似于 select 命令)

.net - 通过 EF 6 DbContext 重用数据库连接是否可以节省时间?

inheritance - EF : select all entities of subclass (inheritance)

php - 即使有持久连接,lastInsertID也会返回0

c# - EF Code First CREATE DATABASE 权限在数据库 'master' 中被拒绝

c# - 使用 C# 在投票中发布多项选择

c# - 更新 edmx 模型后,DbContext 呢?

php - 读取斜线输入崩溃