2009-10-20 84 views
1

我知道在Java中進行hibernate映射的註釋,並且現在正在尋找類似的方法來在C#和NHibernate中執行相同的操作。我發現,存在幾種方法NHibernate映射最有效的方法是什麼?

  • 做在XML文件中的映射
  • NHibernate.Mapping.Attributes(NHMA)
  • 流利
  • 有什麼比較?

我試圖NHMA,發現它有一些阻塞點對我來說...

我不想你商量,什麼映射模型NHibernate的最好的方式,但我一直在尋找在互聯網上比較好。

你知道這樣的網站嗎?如果我選擇上面列出的「框架」之一,需要考慮哪些事實要點?我正在考慮像'NH開發人員正式支持這個項目'這樣的方面嗎?'有沒有可以在xml-mapping中映射但不是流利/ NHMA /等等的模型?

您能推薦些什麼? 爲什麼?

回答

4

Fluent NHibnernate auto mapping或代碼生成(CodeSmith,MyGeneration,T4等)是創建映射文件最有效的方法。我不喜歡屬性方法,因爲我喜歡讓POCO保持簡潔。

+0

+1必須流利地保持POCO清潔,並避免在對象發生更改時出現令人討厭的XML問題。 – 2009-10-20 15:58:35

2

如果您不介意屬性,另一種選擇是Castle ActiveRecord

Here's an article這可能會幫助您決定。

+0

我讚賞你的文章。感謝這篇文章。我不介意模型中的屬性,但我不希望每個實體都從ActiveRecord框架中繼承基類。我不希望我的實體照顧自己的存儲。像DAO更好;) – 2009-10-23 16:08:38

+0

繼承自ActiveRecordBase 是完全可選的。作爲DAO,您可以使用ActiveRecordMediator或Ayende的IRepository等包裝:http://github.com/ayende/rhino-tools/blob/master/commons/Rhino.Commons.ActiveRecord/Repositories/ARRepository.cs – 2009-10-26 21:55:40

相關問題