实体框架代码首先使用TPT继承和复合键

时间:2012-05-29 18:44:18

标签: .net entity-framework inheritance

我需要构建一个稍微不同寻常的数据模型,但我很难说服Entity Framework Code First为我映射它。

我有两个实体 - 'A'和'B'。

'B'是一种'A',这就是我试图让继承工作的原因。

但是,可能存在多个版本的“B”。

我想通过在每个表中为“A”和“B”分配一个共享ID列对此进行建模,但是对于“B”也要有一个“版本号”字段,该字段与ID。

所以 - 这将是一对多继承类型的安排。

最终,目标是能够检索特定的'B'实体,并且还包含相关'A'实体的所有属性和方法,而不必通过另一个对象。

任何想法都会很棒。

谢谢, 克里斯

1 个答案:

答案 0 :(得分:1)

EF中的继承始终是一对一的。如果您有一对多,则必须将其作为关系处理或构建您自己的中间层,这将隐藏您自己的域模型的EF实现(它将从EF获取相关对象并创建您自己的继承对象)。