Czy istnieje sposób na zbieranie Expression<Func<T,bool>>
z Expression<Func<T>>
?Jak wygenerować wyrażenie <Func<T,bool>> z wyrażenia <Func<T>>
Na przykład dla klasy
public class MyClass
{
public int Prop1{get;set;}
public int Prop2{get;set;}
public int Prop3{get;set;}
}
jeśli Expression<Func<T>>
jest () => new MyClass{Prop2 = 5}
wtedy wynik powinien być x => x.Prop2 == 5
jeśli Expression<Func<T>>
jest () => new MyClass{Prop1 = 1, Prop3 = 3}
wtedy wynik powinien być x => x.Prop1 == 1 && x.Prop3 == 3
Innymi słowy jest to możliwe stworzenie func z dowolną liczbą warunków w czasie wykonywania?
Można użyć dynamicznej LINQ: http://weblogs.asp.net/scottgu/archive/2008/01 /07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx –