2012-05-16 6 views
1

나는 "Cars"컬렉션 속성을 가진 객체 "Owner"를 가지고있다. 자동차 기준 (예 : Red Cars를 소유 한 모든 소유자)을 기준으로 소유자를 필터링하고 싶습니다. SomeOwner.Cars의 빨간색 차량 이외의 자동차를 조회하고 싶지 않습니다. 그래서 부모와 컬렉션 모두에 대해 하나의 쿼리 필터가 필요합니다.NHibernate 필터 컬렉션과 부모

<class name="Owner"> 
    <set name="Cars"> 
     <key column="FK_Owner" /> 
     <one-to-many class="Car" /> 
    </set> 
</class> 

<class name="Car"> 
    <many-to-one name="Owner" column="FK_Owner" /> 
</class> 

어떻게하면됩니까?

답변

3
Car carAlias = null; 
var cars = _session.QueryOver<Owner>() 
    .JoinAlias(x=>Cars,()=>carAlias,JoinType.LeftOuterJoin)  
    .Where(x=>carAlias.Color=="Red") 
    .List(); 
+1

기준이 아닌 Linq 공급자를 사용하지 않습니까? – Rippo

+0

답변을 업데이트했습니다. – Chev

+1

+1 좋은 답변 :) – Rippo