Я пытаюсь динамически создать выражение linq во время выполнения, используя PredicateBuilder из http://www.albahari.com/nutshell/predicatebuilder.aspx.
В настоящее время у меня есть метод, который берет список объектов критериев, а затем анализирует их в несколько предикатов, как описано вthis post .
В настоящее время мой код поддерживает следующий сценарий:
WHERE
((a == <val1>) AND (b == <val2>) AND (c == <val3>))
OR
((a == <val4>) AND (b == <val2>) AND (c == <val3>))
Но мне нужно, чтобы он работал так:
WHERE
((a == <val1> OR a == <val4>) AND (b == <val2>) AND (c == <val3>))
OR
((a == <val7>) AND (b == <val5>) AND (c == <val6>))
Как я могу сделать так, чтобы я мог "сгруппировать" два "ИЛИ" вместе, чтобы логика работала правильно?Я не хочу «ИЛИ, А, И, И, И», мне нужно «(ИЛИ, А), И, В и С».