2011-03-04 8 views
1

NH Fluentインターフェイスの周りにたくさんの話題があるので、XMLマッピングとCriteria APIではなくFluentを使用する利点は何ですか?NHibernte FluentとXMLマッピング

+0

FluentでXMLマッピングを選択する唯一の理由は、アプリケーションを再コンパイルせずにXMLを変更できるという唯一の理由です。それは一部の人にとっては重要かもしれませんが、個人的にはコードにジャンプしてそこのマッピングを変更するだけです。 それ以外は、Slyの答えはかなり私のためにそれを合計します。 – sanderd

答えて

4
  1. リファクタリング優しい「ちょうど明確にするためにあなたのドメイン
  2. コンパイル時の検証
1

私が最も有用だと分かったのは、Fluent NHのコンベンション機能による自動マッピングです。基本的にそれはあなたのためのすべてをマップし、いくつかの複雑なマッピングが必要な場合は、それをプロパティでオーバーライドすることができます。

エンティティフォルダに新しいエンティティを追加して、通常はそれに付随する厄介なマッピングなしで使用することができます。

0

のマッピングで設定可能な規約に

  • インテリセンスを
  • Automappingsを(リネームは、マッピングを中断されません) FluentNhibernateマッピングライブラリの権利について話していますか?それはクエリに関連しないので、hqlまたは基準apiで使用することができます

    Criteria APIがfluent interface patternに従っているので、Fluent NHとみなされる可能性があります。

    CriteriaとHqlの長所と短所は数多くありますが、基本的にはICriteriaがプログラムを使用してクエリを作成し、指定されたクエリが(IMHOを除く)変更されない場合にはより良い方法です。また、hqlのようなグループ化や関連性のない結合では、基準apiではできないいくつかのことを行うことができます。

  • +0

    私はxmlマッピングとfluentNHマッピングライブラリについて話しています。 –

    +0

    Dariusのポイントは、Criteria APIがPOCO-SQLマッピングの一部ではないため、Fluent vs XMLのマッピングとは全く別の問題です。 – Rich

    関連する問題