有沒有辦法從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 –