В другой публикации : поддерживает ли Linq-To-Sql составные запросы обсуждался вопрос о том, как динамически составлять / объединять операторы where. По-видимому, это делается с помощью «И» (то есть первое предложение «где» и второе предложение «где» объединяются с помощью «И»). Что мне интересно, так это то, есть ли способ составлять запросы Linq с помощью ИЛИ.
Пример:
var people = from p in Person
where p.age < 18
select p
var otherPeople = from p in people
where p.firstName equals "Daniel"
select p
Это дает людям с именами "Даниэль" и моложе 18 лет. Я ищу синтаксис, чтобы присоединиться к ним, чтобы найти людей, которые имеют имя "Даниил" или моложе 18 лет.
Примечание. Я использую службы данных ADO.net, поэтому у меня нет .Contains () для меня.
РЕДАКТИРОВАТЬ : Предложение Союза (Гарри Шатлер) - это именно то, что я ищу в плане функциональности. Я столкнулся с двумя возможными проблемами:
- Похоже, что если бы я выполнил третье условие, было бы несколько обращений к базе данных (кажется, что union принимает в качестве параметра IEnumerable) - я надеялся создать в коде несколько операторов AND и OR, а затем выполнить один запрос .
- Служба данных ADO.Net не поддерживает Union (очень разочаровывает)