2008-10-07 60 views
3

最近我正在收听一个播客,这个播客正在详细讨论实体框架(EF)的短处。Entity Framework目前适合什么类型的项目?

但是,他们的意见可能需要用一粒盐采取(由我),因为从我可以收集:

  • 这些是为ORM专家乡亲。
  • 他们或者使他们的生活过的ORM工具,或他们的爱好
  • 他们使用ORM工具的大规模应用
  • 他们也非常关注ALT.NET的尤伯杯的战术,我不必然涉及(但)

我的总的问题是:

  • 对于什么类型的项目是实体框架目前适合?

但这里有一些小问题,可以帮助你在那里我有这个问题当家:

  1. 是EF总比没有好?我厌倦了一切手工操作。
  2. 它是否与LINQ to SQL“解决相同的问题”接近? 2A。如果是的话,什么时候适合其他人? * found a thread on this question as I was going over questions with this tag,所以从来没有*
  3. 它是否适用于简单的'快速和肮脏'的应用程序,如当您的管理CRUD的形式大部分?

编辑:对于那些可能会好奇,我主要从事中小规模的应用。这可以指导你的反应,或不。

回答

1

实体框架适用于所有可从OR​​M层获益的应用程序。 Daniel Simmons的帖子详细介绍了这一点。 http://blogs.msdn.com/dsimmons/archive/2008/05/17/why-use-the-entity-framework.aspx

实体框架在许多方面与Linq for SQL类似,但并不与Linq for SQL所使用的MS SQL Server绑定。此外,EF支持您的业务/域对象与数据表之间更灵活的映射。 Linq for SQL支持更多的一对一映射,而EF支持将单个对象映射到多个表的能力,或者将单个表映射到多个对象。你们在两个方面都有不错的设计师支持。在开源世界中,NHibernate可能是最先进的,并且在很多方面是更成熟的产品(它肯定支持更广泛的功能)。但是通过EF,您可以得到MS的全面支持以及与Visual Studio工具集和.net框架堆栈的紧密集成。在编写本文时,EF也比NH更好地成为Linq的助手。

对于一个快速和肮脏的应用程序,我会倾向于Linq for SQL老实说,如果你可以住MS SQL Server和映射限制。

对于更复杂的应用程序,我会使用EF或NHibernate。

您可能会感兴趣的信心后的一票,我给在EF http://blog.keithpatton.com/2008/06/24/A+Vote+Of+Confidence+For+The+Entity+Framework.aspx

相关问题