ADO.NET实体框架或ADO.NET

RuS*_*uSh 7 asp.net ado.net entity-framework

我正在开始一个基于ASP.NET和Windows服务器的新项目.

该应用程序计划相当大,并为大量客户提供高频率和高频率.改变数据.

我之前使用Linq-To-Sql或Ado.Net创建了项目.

我对这个项目的计划是使用VS2010和新的EF4框架.

  • 听到其他程序员关于使用Entity Framework进行开发的选项会很棒

  • 以往经验的利弊?

  • 您认为EF4是否已准备好投入生产?

  • 我应该冒风险还是坚持使用普通的旧ADO.NET?

mar*_*c_s 6

EF4是否真的准备好生产有点难以说明,因为它还没有正式发布......但所有的初步经验和报告似乎都表明它非常好.

但是:你需要考虑EF试图解决的问题; 它是一个双层方法,一层映射到数据库中的物理存储架构(并支持多个后端),第二层是您编程的概念模型.当然,需要在这两个层之间进行映射.

因此,如果您有大量的表,如果您有多个后端需要支持,如果您需要能够将物理模式映射到不同的概念模式,那么EF4非常棒,等等.它非常适合复杂的企业级应用程序.

但这需要付出代价 - 这些额外的层确实会对性能,复杂性和可维护性产生影响.如果您需要这些功能,您将很乐意支付这个价格,毫无疑问.但你需要吗?

当然,你可以直接回到ADO.NET - 但是你真的想再次使用DataTables,DataRows和无类型Row["RowName"]构造吗?真???

所以我的建议如下:

  • 如果您只需要SQL Server作为后端
  • 如果您有一个相当简单和直接的映射,将一个数据库表映射到模型中的一个实体对象

然后:使用Linq-to-SQL!为什么不??它仍然完全得到微软在.NET 4中的支持 - 哎呀,他们甚至做了错误修正并添加了一些零碎的东西 - 它很快,它很有效,它很精简和平均 - 所以为什么不呢?