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

相關問題