私は次の方法でリポジトリを持っています:
IEnumerable<T> FindAll<TRelated>(Specification<T> specification,
Expression<Func<T, TRelated>> fetchExpression);
複数の式を渡す必要があります。私は署名を次のように変更することを考えていました:
IEnumerable<T> FindAll<TRelated>(Specification<T> specification,
IEnumerable<Expression<Func<T, TRelated>>> fetchExpression);
- これは可能ですか?
- このメソッドに渡す式の配列などを作成するにはどうすればよいですか?
現在、次のようにサービスレイヤーからメソッドを呼び出しています。
var products = productRepository.FindAll(specification,p => p.Variants);
p => p.Variants
しかし、私は合格したいと思いp => p.Reviews
ます、例えば。次に、リポジトリで式を繰り返し処理して、クエリに追加します。
私がこれを行っている理由の背景については、NHibernateを使用したEagerのロードに関するBenFosterのブログ投稿を参照してください。