Entity Framework目前适合哪种类型的项目?

时间:2008-10-07 03:49:23

标签: entity-framework

我最近正在收听一个播客,其中详细讨论了实体框架(EF)的缺点。

但是,他们的意见可能需要一点点(由我),从我可以收集的东西:

  • 这些人是ORM专家。
  • 他们要么靠ORM工具或他们的爱好谋生,
  • 他们使用ORM工具进行大规模应用
  • 他们也非常关注ALT.NET的超级策略,​​我不一定关注(YET)

我的整体问题是:

  • 实体框架目前适合哪种类型的项目?

但是这里有一些子问题可以帮助你解决这个问题:

  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 个答案:

答案 0 :(得分:1)

实体框架适用于所有可以从ORM层中受益的应用程序。 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 profider。

对于快速而肮脏的应用程序,如果您可以使用MS SQL Server和映射限制,我会倾向于Linq for SQL。

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

您可能对我在EF上发布的信任投票感兴趣 http://blog.keithpatton.com/2008/06/24/A+Vote+Of+Confidence+For+The+Entity+Framework.aspx