私はこれに似た(または同等の効果を持つ)SQL結果となる基準クエリを作成する方法の例を探していた:NHibernateの基準クエリ - どのようにチェーンの論理演算子
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"の後に来るデータを埋める)と余分なパラメータ(上記の 'いくつかの値'部分を埋める)を持っています。
基本的に私の質問は、この種の基準クエリを作成するときにANDとORをどのようにチェーン化するのですか? Expression.AndとExpression.OrのAPIは、チェーンではなく左右の1つの基準のみを受け入れます。
私はこれについての例をどこに見つけることができますか?
ところで、x、y、zの部分(SELECTの後)は、現在のところプロジェクションでは達成できないようです(まだ取得していないようです)。
これは素晴らしいですね!私はそれを試してみる... – joniba
実際に私の最初の試みが実際に働いたので、私はこれを試していなかったし、私はそれを変更する気がしない。しかし、私はこれを答えとしてマークします。なぜなら、それは優雅な解決策のように思えるからです。私は答えを別に掲示します。 – joniba