メソッドを使用してNHibernateを使用したlinqクエリがありSession.Query<T>
、このクエリでは、いくつかの複雑なプロパティとコレクションプロパティをフェッチします。知りたいのですが、IN
演算子を使用して条件を追加するにはどうすればよいint[]
ですか? 私のコードを見てください:
public IEnumerable<Product> GetProducts(int[] idCategories)
{
// how to add IN condition here or a subquery
var query = Session.Query<Product>()
.Where(?????)
.Fetch(x=>x.Category)
.FetchMany(x=>x.Status).ThenFetch(x=>x.Item);
return query.ToList();
}
これを取得するためにクエリを実行する別のメソッドint[]
があり、ここでそれを適用したいと思います。または、このサブクエリを演算子に追加する方法があれば、IN
本当に感謝しています!
OBS: 必要に応じて変換できint[]
ますList<int>
。
編集
int[]
次のようなクエリでこれを取得しました。
return session.Query<Category>.Where(...).Select(x => x.Id).ToArray();
2 番目の質問は、このクエリをサブクエリとして追加して、カテゴリ別にフィルター処理するにはどうすればよいですか?
ありがとうございました!