抽象フィルター オブジェクトから NHibernate が理解できるフィルターを作成できるメソッドを作成しています (フィルターとは、たとえば ICriteria オブジェクトのセットを意味します)。
public static IEnumerable<ICriterion> ToNhCriteria(this MyCriteria criteria)
{
// T4 generated function
// lots of result.Add(Expression.Or(Expression.Eq(),Expression.Eq)) expression trees - hard to generate
// Is there a way to generate HQL/Linq query here istead?
}
それから私は次のようなことをしたい
session.CreateCriteria<Entity>().Add(myCriteria.ToNhCriteria())
エンティティをフィルタリングします。問題は、式を使用することです。メソッド(Expression.Orなど)は非常に面倒です(メソッドが生成され、何らかの形で式に結合する必要がある複数の or ステートメントがあります)。Expression.Or() の使用を避け、LINQ または HQL を使用して ICrietrion / ICriteria を作成する方法はありますか?