NHibernate筛选器集合和父级

NHibernate筛选器集合和父级,nhibernate,nhibernate-criteria,Nhibernate,Nhibernate Criteria,我有一个对象“所有者”,其集合属性为“汽车”。我想根据汽车标准筛选车主(例如:所有拥有红色汽车的车主),我不想查询非红色汽车的SomeOwner.Cars。因此,我需要一个用于父项和集合的查询筛选器 <class name="Owner"> <set name="Cars"> <key column="FK_Owner" /> <one-to-many class="Car" /> </set>

我有一个对象“所有者”,其集合属性为“汽车”。我想根据汽车标准筛选车主(例如:所有拥有红色汽车的车主),我不想查询非红色汽车的
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>

我该怎么做呢?

Car carAlias=null;
 Car carAlias = null;
 var cars = _session.QueryOver<Owner>()
   .JoinAlias(x=>Cars,()=>carAlias,JoinType.LeftOuterJoin)    
   .Where(x=>carAlias.Color=="Red")
   .List();
var cars=\u session.QueryOver() .JoinAlias(x=>Cars,()=>carAlias,JoinType.LeftOuterJoin) .Where(x=>carAlias.Color==“红色”) .List();
Car carAlias=null;
var cars=\u session.QueryOver()
.JoinAlias(x=>Cars,()=>carAlias,JoinType.LeftOuterJoin)
.Where(x=>carAlias.Color==“红色”)
.List();