1

Nhibernate에서 선택적 where 절을 사용하여 쿼리하는 방법이 있습니까? 목록이 비어옵션을 사용하는 NHibernate where

var query = Session.QueryOver<Orders>() 
        .WhereRestrictionOn(x => x.OrderId) 
        .IsIn(Ids); 

경우에 나는 전체 주문 테이블을 반환하고 싶습니다 :

나는 ID의 목록이 아래의 쿼리를 전달합니다. 이것은 NHiberbate를 사용하여 가능합니까?

답변

3

그냥 이렇게 :

var query = Session.QueryOver<Orders>(); 

if (ids == null || ids.Count == 0) 
{ 
    query = query.WhereRestrictionOn(x => x.OrderId).IsIn(Ids); 
} 
+0

감사합니다. 두 쿼리를 사용하여 그렇게 할 수 있습니다. 나는 내가 사용할 수 있고 두 개의 쿼리를 쓸 필요가없는 NHibernate 구조체가 있는지 궁금해서 ... – user1527762

+1

이것은 두 개의 쿼리가 아니므로 DB에 두 번 누르는 것이 아닙니다. 기존 쿼리에 선택적인 where 절을 추가합니다. +1 – Rippo

관련 문제