Страницы

Поиск по вопросам

четверг, 13 февраля 2020 г.

LINQ, динамическое формирование запроса в зависимости от количества фильтров поиска

#c_sharp #linq


Имею 6 значений по которым необходимо фильтровать данные:


дата с/ф
номер с/ф
поставщик
получатель
исполнитель
тин компании




На стороне сервера получаю string[] с этими значениями. Если крыжик стоит над полем,
то параметр участвует в фильтрации и наоборот.
Как сформировать LINQ запрос который бы при отсутствии параметра в string[] не учитывал
его в фильтрации данных и наоборот.

var MySelect = from q in MyDB ...???

    


Ответы

Ответ 1



Примерно так: var q = from row in ... ... select row; // Базовый запрос без фильтров if (фильтр 1 установлен) q = q.Where(row => условие фильтра 1); if (фильтр 2 установлен) q = q.Where(row => условие фильтра 2); if (фильтр 3 установлен) q = q.Where(row => условие фильтра 3); if (фильтр 4 установлен) q = q.Where(row => условие фильтра 4); if (фильтр 5 установлен) q = q.Where(row => условие фильтра 5); if (фильтр 6 установлен) q = q.Where(row => условие фильтра 6); if (фильтр 7 установлен) q = q.Where(row => условие фильтра 7);

Комментариев нет:

Отправить комментарий