У меня есть метод, который возвращает выражение, которое будет использоваться для динамической фильтрации записей на основе потребностей клиентов, у меня возникла проблема с этим, я хочу что-то вроде этого
public Expression<T> FilterCreator<T>(FilterCondition condition, string columnName, object value)
{
Expression<Func<Customer, bool>> query;
// FilterCondition is an enum flag for conditions
if(condition.Condition == ConditionFlags.EQUALS)
{
// here is the problem,
// i want the emailAddress to be dynamic based on the passed columName parameter of the client
// and be able to cast its type of the value that was passed
query = p => p.EmailAddress == (typeof(p.EmailAddress))value;
//i want something like this
// query = p => p.(columnName)=> (typeOf(p.(columnName)))value;
}
else if(condition.Condition == ConditionFlags.CONTAINS)
{
.....
}
return query;
}
кто-нибудь посоветует, ребята? заранее спасибо