如何仅使用Entity Framework属性实现TPH映射

时间:2013-01-17 23:14:44

标签: entity-framework orm data-annotations entity-framework-5 entity-framework-4.3

我需要使用Entity Framework Code First将遗留db表映射到多态层次结构。不幸的是,我有一些荒谬的限制,我不确定它是否可行。这些约束要求:

  1. 我无法使用流畅的界面定义映射。我必须使用实体框架映射属性。

  2. 我无法向DbModelBuilder添加自定义约定。

  3. 我无法修改表结构。

  4. 有没有直接用EF完成这个?如果没有,那么使用这样一张桌子最好的选择是什么?

1 个答案:

答案 0 :(得分:0)

我相信你遇到的问题是做更复杂的事情(比如在Code-First TPH中定义鉴别器)需要流利。也许其他人可以评论更多细节?这家伙得到了同样的答案,但仍然没有引用:Entity Framework 4, TPH (Table Per Hierarchy) and annotation

取决于您将如何使用此数据(这是只读的吗?)我认为您有很多选项可以加载它并与之交互。在从表中提取整个记录之后,您只需要做额外的工作就可以将对象映射到它们的类中,而不是让EF为您完成所有操作......

同样,其他人可能会有更好的建议。