1
Я хочу построить запрос с условием для свойств фильтра, когда у них есть значение (а не null). Для использования нескольких фильтров должна использоваться комбинация И.Создайте IQueryable из нескольких предикатов
Как можно комбинировать/добавлять каждый предикат, когда значение свойства соответствует не null, чтобы получить окончательный запрос, готовый для фильтрации?
IQueryable<Customer> filter = null;
Expression<Func<Customer, bool>> predicatetest1 = res => res.test1 == request.test1;
Expression<Func<Customer, bool>> predicatetest2 = res => res.test2 == request.test2;
Expression<Func<Customer, bool>> predicatetest3 = res => res.test3 == request.test3;
if (request.test1 != null)
{
// add the above predicate to the filter
}
if (request.test2 != null)
{
// add the above predicate to the filter
}
if (request.test3 != null)
{
// add the above predicate to the filter
}
Когда все 3 свойства не обнулить это всегда будет перезаписывать до того установлен фильтр. Я хочу, чтобы все 3 фильтра использовались в стиле И. – Elisabeth
@Elisabeth Нет, это приведет к цепочке методов Where, приводящих к стилю AND. – Jehof
действительно? но он всегда переписывает существующую переменную ??? Я просто пытаюсь это сделать ... – Elisabeth