实体框架4.1更新TPT和TPCT模型?

时间:2011-05-29 22:02:23

标签: .net entity-framework inheritance entity-framework-4.1 table-per-type

我最后在版本4.0时试用了实体框架。 MSDN论坛和其他地方的一些帖子证实了我对它的实验,表明数据库到OOP映射的TPT(每个类型的表)和TPCT(每个具体的表格式)模型支持得很差,并且确实不完整。最糟糕的是,为TPT / TPCT查询生成的SQL是完整的意大利面和高度效率低下,在任何实际类型层次结构中,它都无法使用。

我的问题是,EF 4.1更新中是否有任何此更改?具体做法是:

  • 现在是否有适当的设计师支持TPT和TPCT方法?

  • 为TPT / TPCT查询/更新生成的SQL现在是否合理有效?

  • 有关这些模型主题的任何其他信息。

1 个答案:

答案 0 :(得分:3)

答案是否定的。 EF 4.1包含两个功能:

  • DbContext API
  • 代码优先支持

代码优先支持根本不使用设计器 - 映射完全在代码中完成,它反映了设计者提供的功能。 DbContext API是一种与EF一起使用的新方式。它以某种方式简化,因此使用效果更好,但同时缺少原始ObjectContext API的某些功能。

您最感兴趣的是DbContext API只是ObjectContext API的包装。而已。核心EF功能绝对没有变化,因为主System.Data.Entity.dll程序集没有更改。使用EF 4.1 +时,您仍然需要此程序集,您需要具有所提及的新功能的新EntityFramework.dll程序集。这意味着:

  • 设计师仍然是一样的。唯一的新功能是DbContext Generator T4模板
  • 生成的SQL完全相同