내가 (동등한 효과 나)이에 SQL과 유사한 초래 criteria 질의를 작성하는 방법의 예를 찾고 있어요 : 만들 때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는 체인이 아닌 단일 왼쪽 및 오른쪽 기준 만 허용합니다.
누구든지이 예제를 어디에서 찾을 수 있습니까?
지금까지 (xw, y, z) 부분은 현재 관련이 없으므로 투영으로 달성 할 수 있습니다 (아직받지 못했습니다).
멋집니다! 나는 그것을 시도 할 것입니다 ... – joniba
사실은 처음 시도가 실제로 효과가 있었으므로 결국 시도하지 않았고 그것을 바꾸고 싶지 않습니다. 그러나 이것이 우아한 해결책처럼 보이기 때문에 이것을 답으로 표시 할 것입니다. 나는 내 대답을 별도로 게시 할 것이다. – joniba