0

I have an object "Owner" with collection property "Cars". I want to filter Owners based on Cars criteria (Ex: All Owners with Red Cars) and I dont want to query non red cars for SomeOwner.Cars. So I want one query filter for both parent and collection.

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

How can I do that?

Anuj Balan
  • 7,629
  • 23
  • 58
  • 92
Vladimir Nani
  • 2,774
  • 6
  • 31
  • 52

1 Answers1

3
 Car carAlias = null;
 var cars = _session.QueryOver<Owner>()
   .JoinAlias(x=>Cars,()=>carAlias,JoinType.LeftOuterJoin)    
   .Where(x=>carAlias.Color=="Red")
   .List();
Samuel Goldenbaum
  • 18,391
  • 17
  • 66
  • 104