Dot-Net
光速與 NHibernate
使用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。