我正在將我的CSharp類映射到數據庫表的階段。與其他工具比較後,我決定使用NHibernate作爲我的ORM工具。我從來沒有用NHibernate做過一個真正的項目,現在我正在考慮映射的替代方案,ActiveRecord:根據項目的網站,使用ActiveRecord可以顯着提高生產力。但是,我不喜歡爲我的CSharp類添加屬性的想法。畢竟,我的課不應該有任何關於數據庫關係的知識。通過使用ActiveRecord將綁定我很好地分離的類到ActiveRecord,並給我很難,如果我想在未來切換下劃線DAO層實現。NHibernate或FluentNHibernate或ActiveRecord?
FluentNHibernate:FluentNhibernate是我開始映射時的第一次嘗試。但我也有這個方法的一些問題。 1)我不喜歡我的映射策略編譯爲二進制文件。我希望能夠通過修改xml文件來更改映射。 2)FluentNHibernate的成熟。 NHibernate已經存在了很長時間,並且擁有大量的用戶,所以我對它的成熟度非常滿意。相比之下,FluentNhibernate相對年輕,並沒有被很多用戶測試過。儘管我可以潛入源代碼來解決所出現的問題,但我不熟悉觸摸低級別實現的技能。 3)FluentNHibernate的文檔可用性遠遠超過NHibernate。當我撞上堅硬的牆壁時,我希望有一個地方可以走。
NHibernate:目前,我正在使用裸Nhibernate XML來做映射。說實話,使用XML讓我頭痛不已。從字面上講,我必須避免僅僅拋棄.hbm.xml文件,並且每天多次獲取ActiveRecord或FluentNHibernate。因此,這裏是我的困境:我應該用我的心去做:「完成這件該死的事情吧!」;或者,我是否應該遵循「良好實踐指南」來承受現在的痛苦,並在稍後獲得相對容易的時間?
有何評論?
謝謝你的回答。現在我將使用ActiveRecord。 – 2009-09-24 07:06:10