Linq2を使用すると、リポジトリがIQueryableを返すようにするのが良いでしょうか?Linq2NibernateとIQueryableを使用したインターフェイス設計
LinqをNibernateに使用すると、.First()やSingle()などの関数を呼び出すまでクエリが「起動」されないことを理解しています。ですから、IQueryableをすべてのインターフェースから返すのが最善ではないでしょうか?それで、それが起動する前に式ツリーを構築して操作できますか?
私のリポジトリはサービスによって呼び出され、IServicieから継承されます。
EDIT:
まず私は本当にすべての答えを感謝しています。しかし、私は質問に少し追加することを望む。私はこのデザインのためです。私はテストの周りの予約を完全に理解していません。プロセスがすべてのポイントIEでフィルタポイントごとにテストされている限り、私は実際にはほとんど違いが見られません。
追加:
は、あなたのリポジトリがIQuerrableを返さない場合Linq2Nibernateを使用する任意のポイントはありますか?
については、まだ読み込んでいない関係にアクセスしている発信者に公開されませんか? – eglasius
あなたの言っていることを本当に感謝していますが、本当はLinq2Nibernateを十分に活用しているわけではありませんか?あなたが "パイプとフィルター"型のパターンを適用できない場合、私は実際にそれを使用することでどんな利益も見られません。PREデータベースのフェッチ –
@Tedあなたはかなり類似した方法で動作することができる仕様パターンを使用します。これらのフィルタをメソッドに渡します(メソッドを呼び出した後にそれらを適用するのではなく) – eglasius