Dot-Net

光速與 NHibernate

  • June 4, 2013

使用LightSpeed是什麼體驗?Mindscape 提供的比較並沒有過多地說明 NHibernate。Lightspeed 看起來很靈活,但我對性能的看法並不多。Lightspeed 的表現如何?使用 Lightspeed 還有什麼缺點嗎?

在過去的六個月裡,我一直在工作中使用 NHibernate 和 Active Record,並在業餘時間在家中使用 LightSpeed。

優點/缺點 到目前為止,我發現 LightSpeed 和帶有 Active Record 的 NHibernate 都易於學習。

我還沒有發現 LightSpeed 的缺點(還)。我最喜歡的功能是:

  • 約定優於配置。這樣可以節省大量時間並提供一致的程式碼。
  • 模型類和配置生成器。
  • 支持 Linq 和 MySQL 5。

我最喜歡 Active Record 的特性是:

  • 無需 XML 配置,自動提供最常用的配置選項。
  • NHibernate 的靈活性在需要時仍然可用(例如條件查詢)。

Active Record 對我來說的缺點是:

  • Ruby on Rails 程式碼範例似乎比 C# 範例多

性能 我還沒有(還)並排比較這兩種產品並同樣對兩者進行性能測試。

我猜想 NHibernate 的類層次結構更深。在使用 ANTS Profiler 優化我的程式碼時,我發現對於一個簡單的查詢,在生成實際 SQL 查詢之前通過 NHibernate 類進行呼叫後呼叫。

當然,產生的查詢將對 ORM 的最終性能產生重大影響。

LightSpeed 和 NHibernate 都提供延遲載入,而 Active Record 為 NHibernate 提供了便利。

我認為使用帶有 Linq 的 Lightspeed 優化您的查詢更容易,並且對維護您的程式碼的人來說更清楚。而通常不建議編寫 NHibernate HQL。

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