others - ADO.NET DbContext Generator和 ADO.NET Poco Entity Generator( ObjectContext)的比较

  显示原文与译文双语对照的内容

我将要开始实现一个项目的数据访问基础设施,该项目是用 DDD ( 这是我第一次尝试 DDD,所以轻点吧)的方法架构的。

我将使用 Entity Framework 。 直到现在,我被朱莉调查方法 teached Lerman本好书,编程 Entity Framework, 哪里 ADO.NET poco实体发电机,一些改变t4模板和一些自定义代码。
今天我开始阅读文章 EF4.1 和 ADO.NET DbContext发电机,使用数据库首先方法,和我试图决定我应该去哪一个。

ef4 DbContext和方法。1 ddd似乎是一个很好的,清洁方式比poco实体,但我担心它可能会导致一些问题在不久的将来,因为 EF4.1 仍在rc。

ADO.NET 团队博客,我知道 EF4.1 不包括:

  • 枚举支持
  • 空间数据类型支持
  • 在代码中首先支持存储过程
  • 在代码中首先支持迁移
  • 代码中的自定义约定优先

从我的理解,因为我将使用数据库首先有较少的特性,并不包括在内。

总之,我的问题是:
我可以取代poco实体发电机 EF4.1 DbContext发电机?

时间:

从干净的实体创建角度来看,两个生成器之间没有区别。 这两个生成器都生成相同的实体,但是 ADO.NET POCO实体生成器基于 ObjectContext API,而 ADO.NET DbContext 生成器基于 DbContext API 。

api的DbContext ( 本地,查询导航属性,等等 ) 有几个很好的新特性和api是简化但同时它看起来像一些功能用于objectcontextapi在 DbContext API ( 或者至少还没有足够的探索) 失踪。

EF 4.1 RC是go-live版本。 这意味着你可以用它构建一个真正的应用程序,因为API不会在( 只有 Bug 被固定)的中改变。 另外,应该在下个月,所以我认为你不会在最终版本发布之前准备好你的应用程序。

ObjectContext API或者 DbContext API? ObjectContext API被文档和博客文章所覆盖。 你可以找到很多关于它的例子。 它的局限性已经众所周知。 DbContext API是新的发行版。 一个非常有前途的发行版,主要是因为code-first方法。 仍然有非常有限的博客文章,没有书和API没有足够的证明。 所以这取决于你是否准备和新的API战斗? 如果没有,那么 ObjectContext API仍然是一个不错的选择,因为你不需要code-first方法。

...