2011-03-04 81 views
1

我看到NH Fluent界面周圍產生了很多buzz,所以使用Fluent代替XML映射和Criteria API有什麼好處?NHibernte流利與XML映射

+0

我選擇通過Fluent進行XML映射的唯一原因是您可以在不重新編譯應用程序的情況下更改XML。這對一些人來說可能很重要,但是我個人只是跳過代碼並改變那裏的映射。 除此之外,狡猾的回答幾乎總結了我。 – sanderd 2011-03-04 09:34:11

回答

4
  1. 重構友好(重命名不會打破映射)
  2. Automappings與配置的約定
  3. 智能感知在映射域
  4. 編譯時驗證
1

我發現最有用的是通過Fluent NH中的慣例功能AutoMapping。基本上它會映射一切爲你,如果你需要一些複雜的映射,那麼你可以通過屬性覆蓋它。

鑑於您可以在您的實體文件夾中添加新的實體並開始使用它,而無需映射大驚小怪,它通常伴隨它。

0

只是要清楚你」重新談論映射庫FluentNhibernate吧?這與查詢無關,所以它可以用於hql或標準api

我問,因爲Criteria API跟在fluent interface pattern之後,所以可能被認爲是流利的NH。

Criteria vs Hql的利弊很多,但基本上ICriteria更適合以編程方式構建您的查詢,如果給定的查詢永遠不會改變(除了參數)恕我直言,hql更好。你也可以用hql做一些事情,比如你不能用標準api做分組和無關聯。

+0

我正在討論xml映射vs fluentNH映射庫...... – 2011-03-04 10:19:12

+0

對,Darius的觀點是Criteria API是一個完全獨立的問題,因爲Criteria API不是POCO-SQL映射的一部分,所以與流利地映射vs XML明智不同。 – Rich 2011-03-04 18:02:55