Имею 6 значений по которым необходимо фильтровать данные:
дата с/ф
номер с/ф
поставщик
получатель
исполнитель
тин компании
На стороне сервера получаю string[] с этими значениями. Если крыжик стоит над полем, то параметр участвует в фильтрации и наоборот.
Как сформировать LINQ запрос который бы при отсутствии параметра в string[] не учитывал его в фильтрации данных и наоборот.
var MySelect = from q in MyDB ...???
Ответ
Примерно так:
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);
Комментариев нет:
Отправить комментарий