NHibernate过滤器集合和父级

时间:2012-05-16 08:29:23

标签: nhibernate nhibernate-criteria

我有一个对象“所有者”,其收藏属性为“汽车”。我想根据汽车标准过滤车主(例如:红车的所有车主),我不想查询SomeOwner.Cars的非红色车辆。所以我想要父和集合的一个查询过滤器。

<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>

我该怎么做?

1 个答案:

答案 0 :(得分:3)

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