NH Fluentインターフェイスの周りにたくさんの話題があるので、XMLマッピングとCriteria APIではなくFluentを使用する利点は何ですか?NHibernte FluentとXMLマッピング
答えて
- リファクタリング優しい「ちょうど明確にするためにあなたのドメイン
- コンパイル時の検証
私が最も有用だと分かったのは、Fluent NHのコンベンション機能による自動マッピングです。基本的にそれはあなたのためのすべてをマップし、いくつかの複雑なマッピングが必要な場合は、それをプロパティでオーバーライドすることができます。
エンティティフォルダに新しいエンティティを追加して、通常はそれに付随する厄介なマッピングなしで使用することができます。
のマッピングで設定可能な規約に
Criteria APIがfluent interface patternに従っているので、Fluent NHとみなされる可能性があります。
CriteriaとHqlの長所と短所は数多くありますが、基本的にはICriteriaがプログラムを使用してクエリを作成し、指定されたクエリが(IMHOを除く)変更されない場合にはより良い方法です。また、hqlのようなグループ化や関連性のない結合では、基準apiではできないいくつかのことを行うことができます。
私はxmlマッピングとfluentNHマッピングライブラリについて話しています。 –
Dariusのポイントは、Criteria APIがPOCO-SQLマッピングの一部ではないため、Fluent vs XMLのマッピングとは全く別の問題です。 – Rich
- 1. Fluent NHibernate HasManyToMany()マッピング
- 2. Fluent NHibernateマッピング継承
- 3. Fluent NHibernateでの継承マッピング
- 4. Fluent NHibernateでカスタムGUIDをマッピング
- 5. C# - Fluent NHibernateマッピングの質問
- 6. Fluent nHibernate多対多マッピング
- 7. Fluent nhibernateテーブルあたりの階層マッピング
- 8. Fluent NHibernate Oracle XMLTypeへのXDocumentプロパティのマッピング
- 9. 動的なプロパティ.Not.Insert()。NotUpdate()マッピングFluent NHibernate
- 10. (Fluent)NHibernate - VarcharからInt32へのマッピング
- 11. Fluent Nhibernateのコンポジット要素の自動マッピング
- 12. Fluent Nhibernateでのカスタム参照マッピング
- 13. 流暢NHibernte改正/表記
- 14. SASのXMLマッピング - 複数のXMLファイルと
- 15. XMLエンティティとJavaオブジェクトのマッピング
- 16. Fluent NHibernateマッピング多対多フィールドと追加フィールド
- 17. Fluent NHibernate:ディスクリミネータとの多対多関係のマッピング方法
- 18. FluentマッピングとSpring .NETトランザクションが連携していません
- 19. Fluent NHibernateテーブルごとの階層マッピングの問題
- 20. XMLマッピング属性
- 21. XML-to-SQLマッピング
- 22. xmlマッピングとOpen XMLを使用してExcelテーブルをXMLとしてエクスポート
- 23. Fluent Nhibernate - コンポーネント(値オブジェクト)のコレクションをマッピングしますか?
- 24. Fluent nHibernateの問題が多対多のマッピング
- 25. NHibernate Fluent HasManyマッピングはNULLを挿入します。外部キー
- 26. Fluent Nhibernateを使用してパラメータでnhibernateカスタムタイプをマッピングする
- 27. 親子関係のマップテーブルへのマッピングFluent Nhibernate
- 28. Fluent NHibernateはNHibernateのすべてのマッピングをサポートします
- 29. Fluent NHibernate、Oracle 10gおよびOracleClientConfiguration.Oracle10を使用したクロップのマッピング
- 30. Fluent NHibernate - 既存のデータベースのマッピングを作成
FluentでXMLマッピングを選択する唯一の理由は、アプリケーションを再コンパイルせずにXMLを変更できるという唯一の理由です。それは一部の人にとっては重要かもしれませんが、個人的にはコードにジャンプしてそこのマッピングを変更するだけです。 それ以外は、Slyの答えはかなり私のためにそれを合計します。 – sanderd