Subsonic 3.0.0.3 用の複合クエリを作成したいのですが、これにはどのような方法が最適ですか?
私は試した;
Expression<Func<Person, bool>> exp = p => true;
Expression<Func<Person, bool>> fContinent = p => p.ContinentID == 1;
Expression<Func<Person, bool>> fType = p => p.TypeID == 1;
exp = Expression.Lambda<Func<Person, bool>>(Expression.AndAlso(exp, fContinent), exp.Parameters);
exp = Expression.Lambda<Func<Person, bool>>(Expression.AndAlso(exp, fType), exp.Parameters);
var personList = Person.Find(exp);
ただし、「二項演算子 AndAlso が定義されていません ...」という例外が発生します。
述語も使用してみましたが、例外もスローされます (Expression.Invoke はサポートされていません)。
subsonic 2 では SqlQuery オブジェクトを使用していましたが、バージョン 3 で linq / 式を使用してこれを行う適切な方法を知りたいです。