對於我們正在尋找NHibernate的新項目。我們總體喜歡它,但有一點讓我們感到困擾:它似乎非常耗費資源。顯然NHibernate會加載一個對象的所有屬性,即使你只需要其中一個屬性。此外,它還會爲子對象的屬性執行相同的操作。NHibernate有什麼好處和壞處?
所以我們衡量NHibernate的利弊。你會說他們是什麼,如果上漲彌補了缺點?
對於我們正在尋找NHibernate的新項目。我們總體喜歡它,但有一點讓我們感到困擾:它似乎非常耗費資源。顯然NHibernate會加載一個對象的所有屬性,即使你只需要其中一個屬性。此外,它還會爲子對象的屬性執行相同的操作。NHibernate有什麼好處和壞處?
所以我們衡量NHibernate的利弊。你會說他們是什麼,如果上漲彌補了缺點?
缺點:
優勢
優點:
缺點:
這取決於你在做什麼。 Hibernate不是批量更新的工具。
這裏的版本是尚未提到的一些東西(對不起,這不是在Pro/CON格式)。這些適用於您將創建通用框架來執行基本實體操作(因此您有可用於其他項目的可重用NHibernate庫)的情況。
NHibernate.Mapping.Attributes
庫,則不必處理外部XML映射文件。你所要做的就是將元數據添加到你的數據對象類中。這真是方便,直觀,易於維護。這就是我現在所擁有的。如果我想到其他任何東西,我會添加到我的列表中。
由於延遲加載,NHibernate不會加載整個對象圖。據說,NHibernate是我發生過的最好的事情之一(編碼方式)。它驅使我遠離將數據視爲啞巴結構,而是驅使我編寫「真正的」OO設計。 – 2009-11-12 14:40:09
謝謝你的肯尼。然而,有些人告訴我,Hibernate確實支持延遲加載屬性,但不支持NHibernate,.NET版本。我相信誰? :) – Astaar 2009-11-17 16:11:16
這是爲什麼關閉?我覺得它非常具有建設性,答案也很好。 – 2011-10-14 15:06:41