Я ищу пример того, как создать запрос критерия, который привел бы к SQL, подобному этому (или с эквивалентным эффектом):
SELECT x, y, z
FROM SomeTable tbl
WHERE tbl.a = 'some value'
AND (
(tbl.b = '1' AND tbl.c = 'whatever1' AND tbl.d = 123) OR
(tbl.b = '2' AND tbl.c = 'whatever2' AND tbl.d = 456) OR
(tbl.b = '3' AND tbl.c = 'whatever3' AND tbl.d = 789)
)
При создании запроса у меня есть список данных фильтра (который заполняет данные, которые идут после «И»), а также дополнительный параметр (который заполняет часть «некоторое значение» выше).
По сути, мой вопрос заключается в том, как объединить AND и OR при построении запроса такого типа? API для Expression.And и Expression.Or принимает только один левый и правый критерий, а не цепочку.
Кто-нибудь знает, где я могу найти пример для этого?
Кстати, часть x, y, z (после SELECT) в настоящее время не имеет значения, так как кажется, что я могу сделать это с помощью проекции (пока не получил).