クエリ式内で動的なLinq式を使用できますか?このような 何か:式クエリ内の動的ラムダ式
from obj1 in ObjectSet1
let res = ObjectSet2.Where(* SomeExpression *)
where ...
select ...
私はSomeExpression用としてExpression.Lambda<Func<TSource, bool>>
式を構築しようとしています。
- Expression Query内で動的Linq Expressionを使用することは可能ですか、Expression Tree全体を最初から構築する必要はありますか?
- SomeExpressionをビルドするときに、どうすればobj1を使用できますか?
注:Entity Frameworkを使用していますが、式ツリー内でSomeExpression.Compile()を使用することはできません。
私はそうだと信じています。詳細はこちら(http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx)とこちらをご覧ください(http://naspinski.net/post/Writing-Dynamic-Linq-Queries-in-Linq-to-Entities.aspx) – Ani
ありがとう、文字列述語が役立つかもしれません! Expression Builderを使用することが可能かどうか疑問に思っていましたか? Expression.Parameter(typeof(TSource)、 "obj1")は動作していないようです! –