我們即將開始一個新項目。這將是一組網絡應用程序,並提供大量共享組件。它每天將有多達50,000位獨特用戶訪問,並且將是某種管理面板。所有項目都將在asp.net mvc 2中構建,並且它們都將在一個SQL Server數據庫上運行。OR項目選擇新項目
我們一直非常喜歡NHibernate,直到找到ormbattle.net網站,其中NHibernate的性能測試看起來與其他映射器相比非常差。在這個總結中,我發現圖書館以前對我來說是未知的。 BLToolkit看起來很有希望,但有兩個優點和缺點。
BLToolkit對社區的支持很薄弱,很少有例子,我真的沒有聽說有人在一個大項目中使用過它。它也非常輕便,這意味着它不支持多關係,延遲加載和緩存......另一方面,性能非常好,並且它對Linq的支持非常好。
在這種情況下,我選擇這些方式之一之間是:
- 不要那麼在乎性能和使用NHibernate的或EF或只是L2SQL(其中一個會更好?),並使用ORMapper它具有更多有用的功能。
- 專注於這一偉大的性能,並基於這個BLToolkit構建自己的解決方案,主要使用這個庫作爲一個非常好的基礎。如果我將在MVC中使用動作緩存,可能我不需要緩存。可能我不需要關聯,只要我可以使用連接表達式編寫良好的LINQ查詢。可能我不需要延遲加載,因爲我會仔細構建將從數據庫中獲得的所有我需要的確切方法。
我不是在尋找這種情況下的判決。我所要求的只是一個小小的討論,向我指出一些我沒有考慮過的問題,或者僅僅與我分享一些關於使用BLToolkit以及其他或映射器的經驗。
http://stackoverflow.com/questions/1377236/nhibernate-entity-framework-active-records-or-linq2sql/ – 2010-08-04 10:27:10
剛剛在接受的答案中添加了關於NH3 alpha1中LINQ的註釋。 – 2010-08-26 19:44:16
你開始使用BLToolkit嗎?我也發現這個項目,我鼓勵給它一個機會:) – twk 2010-08-28 13:32:46