Dot-Net

關於學習哪個 .NET ORM 的一些建議

  • August 6, 2016

說我沒用過 ORM 有點慚愧;您可能還記得,我的大部分職業經歷都是在使用 Classic ASP 和小 .NET 進行黑客攻擊,而我所做的往往只是維護。

為了我自己的職業生涯以及為工作中的新項目做準備(最終在.NET中完成!)我正在為這個項目做準備。

無論如何,我正在為項目使用 .NET 3.5(或計劃,無論如何),所以我試圖決定我想選擇什麼 ORM;就像我說的,我對他們不是很熟悉,但我通常知道他們應該做什麼以及他們是如何做到的。我的選擇基本上歸結為 NHibernate 或 LINQ/Entity Framework。我沒用過,但我看過一些 LINQ2SQL 和 NHibernate 的展示。

NHibernate 似乎總體上更強大(Linq2Sql 甚至不是“真正的”ORM),並且在 ALT.NET 社區中被大量使用,我想進一步探索。但是,EF 是 Microsoft 的產品,因此將被大多數開發團隊大量使用,他們只使用 Microsoft 提供的任何產品,而不考慮任何替代品。

我聽說過關於 EF 的好消息和壞消息,但我想選擇一些可以為我打下良好基礎的東西,並且如果/當我在一家擁有真正開發團隊的公司找到一份更好的工作時,對其他雇主來說也很好。

**編輯:**我應該補充一點,如果選擇 ORM 很重要,應用程序將不得不處理現有數據庫。

**編輯(2009 年 2 月 15 日下午 6 點 48 分):**它將使用的唯一數據庫是 SQL Server 2005 Standard,在 Windows Server 2003 上執行。鑑於這是一個工作項目,我的目標是選擇一些能贏的東西我不需要花很長時間來跟上進度(因為我需要提高工作效率,而且“學習新工具”看起來不太好管理)但是這比滾動我自己的 DAL 更好. 當時我還沒有決定應用程序是智能客戶端還是 ASP.NET 應用程序,但其中一部分很可能會使用 ASP.NET MVC 來完成。

我會推薦 nhibernate - 因為它是開源的並且有一個非常活躍的社區幫助很容易獲得。一個很好的起點是NHibernate FAQ,它的範圍從面向初學者的文章到非常高級的概念。通過閱讀並遵循為 NHibernate 準備您的系統您的第一個基於 NHibernate 的應用程序開始執行

我工作過的所有雇主都使用 NHibernate for ORM in .NET 和 Hibernate for ORM in Java - 所以你應該從學習 NHibernate 中受益匪淺。

Rob Connery 的SubSonic是基於 ActiveRecord 的“瑞士軍刀”ORM。您可以在 30 分鐘內提高工作效率。請注意,在配置選項等方面,它不是 NHibernate 的級別。它非常高效,並且程式碼非常乾淨。我們在大多數項目中都使用它。

引用自:https://stackoverflow.com/questions/550929