关于.net:Entity Framework 4.1对TPT和TPCT模型的更新?

Entity Framework 4.1 updates to TPT and TPCT models?

我上次尝试使用4.0版本的Entity Framework。我的实验得到了MSDN论坛和其他地方的一些帖子的证实,结果表明,数据库到OOP映射的TPT(每个类型的表)和TPCT(每个混凝土的表)模型的支持非常差,并且确实不完整。最糟糕的是,为TPT / TPCT查询生成的SQL完全是意大利面条,效率很低,以至于对于任何现实的类型层次结构来说,它都是不可用的。

我的问题是,EF 4.1更新中是否有此更改?具体来说:

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

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

  • 关于这些模型的其他信息。


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

  • DbContext API
  • 代码优先支持

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

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

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