Реализован общий репозиторий с несколькими методами. Один из них заключается в следующем:Дерево динамических выражений как
public IEnumerable<T> Find(Expression<Func<T, bool>> where)
{
return _objectSet.Where(where);
}
Учитывая <T>
быть <Culture>
легко назвать это так:
Expression<Func<Culture, bool>> whereClause = c => c.CultureId > 4 ;
return cultureRepository.Find(whereClause).AsQueryable();
Но теперь я вижу (понимают), что этот вид quering является «ограничение только к одному критерию ». Что я хотел бы сделать так:
в приведенном выше примере c имеет тип Culture. Культура имеет несколько свойств, таких как CultureId, Name, Displayname, ... Как бы выразить следующее: CultureId> 4 и Name.contains ('de') и в другом исполнении Name.contains ('us') и Displayname .contains ('ca') и ....
Эти запросы должны создаваться динамически. Я смотрел в деревьях выражений (поскольку я думал, что это решение моей проблемы - кстати, я никогда не использовал их раньше), но я не могу найти ничего, что указывает на мое требование.
Как это можно сэкономить?
Заранее спасибо
Я думаю, что я был не очень ясен в своем первоначальном посте. Посмотрите на решение, которое я придумал. –