实体框架:每个类型和表混合表每一个分层

问题描述:

我在我的数据库中的两个表:实体框架:每个类型和表混合表每一个分层

  • BaseEntity
  • 基金

“基金”的实体从“BaseEtity”继承了与“每种类型的表格”。

在我的商业模式我有不同类型的“基金”:

  • 头基金
  • 直接投资基金

我想有对于那些“每个层次表”类型的实体,这意味着我仍然只有一个带有类型鉴别器列的“基金”表。

有没有一种方法可以从“基于类型的表”的基类派生的实体上具有“每个层次的表”?

这是不可能的,看到这个帖子以供参考:

Can I mix Table per Hierarchy and Table per Type in Entity Framework?

+0

我早些时候看到这篇文章,但我想保持我的希望,再次问:)也许有人提出了一个解决方案。 – SolarX 2011-03-03 11:09:20

+1

该文章介绍了一个不同的更复杂的场景。有可能的。 – 2011-05-19 10:14:29

是的,这是可能的 - 我曾在EF4这个工作有一段时间了。

Define EntityA and map to TableA 

Define EntityB: EntityA and map to TableB 

Define EntityC: EntityA and map to TableC 

Define EntityD: EntityC and map to TableC 
    with condition on a column from table C 

Define EntityE: EntityC and map to TableC 
    with a different condition on a column from table C 
+0

你是使用代码优先的吗?我正在与模特优先和EF设计师合作。 – SolarX 2011-05-18 09:26:13

+0

数据库优先和设计者。 – 2011-05-18 13:53:20

+0

@SolarX,如果您真的首先使用模型而不是数据库,则EF将创建SQL脚本,该脚本根据每种类型映射约定创建表。我认为你实际上也是首先使用数据库(映射到现有表格,而不是从edmx创建新表格),然后将初始模型重塑为您希望它工作的方式。 – 2011-05-19 10:12:30