2010-01-24 48 views
0

是否值得花時間在這些框架中。或者他們只是以MFC庫的形式開發的另一個框架,如微軟。 我不想浪費寶貴的時間,所以請幫助。在什麼情況下,這些框架將會有所幫助。實體框架和linq到sql的可行性

+1

我認爲你對MFC過於苛刻。多年來它非常適合一個重要的位置。我並不是說MFC使用起來很愉快,因爲在我看來,並非如此。它提供了一個合理的替代方案,但是直接使用C++ Win32。在許多方面,ORM扮演的角色類似於MFC,因爲他們試圖在低層技術棧之上公開一個功能豐富的API。如果您不想學習ORM並堅持使用ADO.NET,那當然是您的選擇,但我認爲儘可能理解其他選擇總是很重要的。 – 2010-01-24 11:34:13

回答

1

EF和L2S是Object-Relational Mappers(ORM)。只要使用ORM,就會使用它們。 StackOverflow使用Linq to SQL作爲其ORM層,效果良好。實體框架即將出現,雖然目前存在問題,但在即將到來的4.0版本中會有很大改進。

您將花費很多時間學習這些框架中的一個或兩個,因爲它很可能會在某些時候在您的應用程序中使用ORM。

+0

你真的建議花費時間學習LinqToSql之後,微軟已經基本上支持實體框架?我不認爲我可以同意這個建議。爲什麼要學習一個功能較差的ORM(相對於它的競爭對手而言),這永遠不會比今天更好? – 2010-01-24 11:28:11

+0

@Michael:EF 4.0需要Visual Studio 2010和.NET Framework 4.0。對於某些人來說,出於配置的原因,這不會是一個可行的選擇。如果你今天需要更多的功能,你最好的選擇可能是nHibernate,或者其他的開源ORM。如果你需要一個輕量級的ORM並且對Linq to SQL感到不舒服,Subsonic可能是一個可行的選擇。 – 2010-01-24 16:13:26

1

是的!這是值得學習的。沒有!它不只是另一個框架。對於任何使用SQL數據庫查詢數據並呈現/執行某些邏輯的應用程序都很有用。

Linq2Sql在.NET 3.5中引入。如果你沒有你自己的一組域實體,這將非常有用。在複雜場景中將Linq2Sql類映射到我們自己的域實體類有點困難。

但是,建議使用實體框架。 EF是在.NET 3.5 SP1中引入的。大大改進了Linq2Sql版本,併成爲Olso混合模型的一部分。這可以作爲一個真正的ORM來映射我們自己的域實體集合,設計者提供了大部分的功能。

EF(EF4)附帶.NET 4.0的新附件。 觀看Evolving ADO.NET Entity Framework in .NET 4 and Beyond您可以用EF4做什麼。

下載從Codeplex.com

1

的「分層體系結構示例爲.NET」這真的取決於你的選擇是什麼。如果你的選擇是使用ADO.NET和DataSet,那麼是的,LinqToSql和EntityFramework可能會向前邁進一步。如果你的選擇是NHibernate或其他功能豐富的ORM,那麼它們可能會退步。

微軟已經非常強烈地從LinqToSql轉移開來,同時仍然繼續爲它提供支持並進行微小的更改。微軟推薦所有LinqToSql用戶轉移到實體框架。但是,與VS 2008 SP1/.NET 3.5 SP1一起出現的實體框架在很多方面離LinqToSql有一段距離。假設在不久的將來可以遷移到VS 2010/.NET 4.0,那麼在四月推出的VS 2010和.NET 4.0的實體框架應該主要是LinqToSql的升級。