EF:层次结构中每个实体类型的单独表

时间:2011-06-23 08:49:07

标签: entity-framework entity-framework-4

使用EF 4数据模型,假设我们有一个名为“Animal”的类型以及继承自Animal类型的另外两种类型“Bird”和“Horse”。

我希望类型Animal上的属性可以在子类型上继承,但我希望这些子类型具有单独的表,每个表都重复从Animal继承的列。 类型动物将不存在于数据库中。 从数据库的角度来看,不存在继承,但在EF模型中具有继承将简化模型的管理。

是否可以在EF中定义这样的模型/映射?

2 个答案:

答案 0 :(得分:1)

是的 - 它被称为“每种类型的表格”,这里有演练

http://msdn.microsoft.com/en-us/library/cc716702.aspx

http://msdn.microsoft.com/en-us/library/bb738685.aspx

编辑: 但是,如果您还想查看每个混凝土类型的表格。这里比较了各种类型的方案 http://msdn.microsoft.com/en-us/library/cc716779.aspx

“在此映射方案中,非抽象类型每个都映射到单个表。这些表中的每一个都必须具有映射到派生类型的所有属性的列,包括从基类型继承的属性。”

答案 1 :(得分:1)

您需要TPC mapping(每个混凝土类型或每类表格)。