Нужно несколько условий для запроса с оператором ИЛИ - PullRequest
0 голосов
/ 09 января 2019

У меня есть требование добавить несколько, где условия с оператором или из которых, где условие должно будет проверить, есть ли в столбце db какой-либо элемент в представленном списке. Пожалуйста, рассмотрите запрос ниже

var res= from table1 in context.table1
         join table2 in context.table2
         on table1.id equals table2.id
         where table1.name=="res1" || table1.description=="desc"
         || table1.name.any(res=>FreeText.Contains(res))
         select table1

этот запрос приводит к тому, что компилятор запускает запрос несколько раз, и я не получаю требуемого результата. Моя конечная цель - выполнить следующий SQL-запрос

select * from table1 join table2 on table1.id ==table2.id 
  where table1.name=="res1" || table1.description=="desc" || table1.name like "%item1%" ||table1.name like "%item2% ......"

операторы like должны добавляться динамически на основе элементов в списке.

1 Ответ

0 голосов
/ 09 января 2019

попробуйте это ...

var res= from table1 in context.table1
         join table2 in context.table2
         on table1.id equals table2.id
         where table1.name=="res1" || table1.description=="desc"
         || FreeText.Any(p => table1.name.Contains(p, StringComparison.InvariantCultureIgnoreCase))
         select table1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...