有没有办法从Expression<Func<T>>
构建Expression<Func<T,bool>>
?如何在表达式<Func<T,bool>>中编写表达式<Func<T>>
例如,对于类
public class MyClass
{
public int Prop1{get;set;}
public int Prop2{get;set;}
public int Prop3{get;set;}
}
如果Expression<Func<T>>
是() => new MyClass{Prop2 = 5}
然后结果应该是x => x.Prop2 == 5
如果Expression<Func<T>>
是() => new MyClass{Prop1 = 1, Prop3 = 3}
然后结果应该是x => x.Prop1 == 1 && x.Prop3 == 3
换言之是有可能创建FUNC在运行时有任何数量的条件?
您可以使用动态LINQ:http://weblogs.asp.net/scottgu/archive/2008/01 /07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx –