Допустим, у меня есть планы и документы
Dim myPlans = _context.Plans.Where(predicate1)
Dim myDocuments = _context.Documents.Where(predicate2)
Я структурировал предложение where для каждого, используя PredicateBuilder. Итак, myPlans и myDocuments имеют правильный оператор SQL.
Я хотел бы объединить эти две таблицы в один оператор linq. У меня проблема в том, что по умолчанию условие AND соединяет предложения where.
myPlans Where предложение: (p.name как "% test%" И p.name как "% bed%") ИЛИ (p.description как "% test%" И p.description как "% bed%")
myDocuments Where предложение: (d.name как "% test%" И d.name как "% bed%") ИЛИ (d.description как "% test%" И d.description как "% bed%")
Когда я объединяю два, желаемый результат, где предложение:
Где (d.ID = p.ID) И
(myplans, где пункт выше) ИЛИ (мой документ, где пункт выше). То есть мне бы хотелось, чтобы два предложения where в каждой из таблиц были "или" вместо "And".
Текущий результат, где предложение:
Где (d.ID = p.ID) И
(myplans, где пункт выше) И (мой документ, где пункт выше). То есть мне бы хотелось, чтобы два предложения where в каждой из таблиц были "или" вместо "And".
Я формирую утверждение так:
Dim test = From d in myDocuments _
Join p in MyPlans on d.ID Equals p.ID _
Select d.Name, p.Name