首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ADO.NET DbContext生成器与ADO.NET Poco实体生成器(ObjectContext)

ADO.NET DbContext生成器与ADO.NET Poco实体生成器(ObjectContext)
EN

Stack Overflow用户
提问于 2011-03-17 23:10:29
回答 1查看 32.5K关注 0票数 58

我即将开始实现一个项目的数据访问基础设施,该项目的架构采用了DDD方法(这是我第一次尝试DDD,所以请注意;-)。

我将使用Entity Framework。到目前为止,我一直在研究Julie Lerman在她的伟大著作Programming Entity Framework中教授的方法,其中使用了ADO.NET POCO实体生成器,并对T4模板进行了一些更改和一些更多的自定义代码。

今天,我开始阅读关于EF4.1和ADO.NET DbContext生成器的文章,使用数据库优先方法,我正在尝试决定我应该使用哪种方法。

DbContext和EF4.1在DDD上的方法似乎比POCO实体更好,更干净,但我担心它在不久的将来会导致一些问题,因为EF4.1还在RC中。

ADO.NET team blog中,我知道EF4.1 包括:

代码优先support

  • Spatial中的代码枚举数据类型support

  • Stored过程支持

  • First

中的代码优先约定支持

据我所知,由于我将使用数据库First,因此有一小部分功能没有包括在内。

总而言之,我的问题是:

能否将 POCO实体生成器替换为EF4.1 DbContext生成器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-17 23:28:05

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

DbContext的API有一些非常好的新特性(Local、查询导航属性等)。应用程序接口在某种程度上被简化了,但同时看起来在ObjectContext应用程序接口中使用的一些功能在DbContext应用程序接口中缺失了(或者至少它还没有得到足够的探索)。

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

ObjectContext API还是DbContext API?文档和博客文章对ObjectContext API的介绍要好得多。你可以找到很多关于它的例子。而且,它的局限性也是众所周知的。DbContext接口是新的版本。这是一个非常有希望的版本,这主要是因为代码优先的方法。博客文章的数量仍然非常有限,没有书,而且API还没有得到足够的证明。所以这取决于你是否准备好使用新的API?如果不是这样,那么ObjectContext API仍然是一个很好的选择,因为您不需要代码优先的方法。

票数 54
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5340990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档