Я ищу пример того, как создать запрос критериев, который приведет к 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)
)
При создании запроса у меня есть список данных фильтра (который заполняет данные, следующие после «И»), а также дополнительный параметр (который заполняет часть «какое-то значение» выше).
В основном мой вопрос заключается в том, как связать И и ИЛИ при построении такого запроса критериев? API для Expression.And и Expression.Or принимает только один левый и правый критерий, а не цепочку.
Кто-нибудь знает, где можно найти для этого пример?
Кстати, часть x, y, z (после SELECT) в настоящее время не имеет значения, поскольку кажется, что я могу выполнить это с помощью проекции (еще не дошел).