DI を使用したリポジトリ パターンで NHibernate を使用して、柔軟性を維持しています。関連するインターフェイスで、ICriterion のようなベンダー固有のものを公開したくありません。しかし、クエリ クラスが .Where 句に入れることができるデリゲートを受け入れるようにしたいと考えています。
次のようなものが必要です:
public IEnumerable<MyClass> Execute(Func<MyClass, bool> selector)
{
return session
.QueryOver<MyClass>()
.Where(selector)
.....
}
これを達成する方法はありますか、それとも間違った方法で行っていますか?