Kolekcja filtrów NHibernate

Używanie NHibernate Chcę filtrować kolekcję w klasie, aby zawierała TYLKO podzbiór możliwych obiektów. Poniżej zamieszczam przykładowe dane tabeli, które pomogą wyjaśnić. Nie mogę znaleźć sposobu, aby to zrobić za pomocą NHibernate.

Tabela: DataObjectDataObjectId (PK) / Name / CurrentVersion
11          "data.txt"      2
12          "info.txt"      3
Tabela: DataObjectVersionId / Comment / NumberNumber / DataObjectId (FK)
31   "Genesis"         1          11     <= Ignore this object
32   "Changed data"    2          11     <= Get this object
34   "Genesis"         1          12     <= Ignore this object   
35   "Changed info"    2          12     <= Ignore this object
36   "Added info"      3          12     <= Get this object

Chcę dołączyć do klucza obcego DataObject.CurrentVersion = DataObjectVersion.VersionNumber dla każdego obiektu DataObject w jednym poleceniu.

Oto klasy i pliki map:

public class DataObject
{
  public virtual int DataObjectId { get; set; }
  public virtual string Name { get; set; }
  public virtual int CurrentVersionNumber { get; set; }
  public virtual IList<DataObjectVersion> Versions { get; set; }
}

<class name="DataObject" table="DataObject" lazy="false">
    <id name="DataObjectId" column="DataObjectId" type="int">
      <generator class="assigned" />
    </id>
    <property name="Name" column="Name" type="String(512)" />
    <property name="CurrentVersionNumber" column="CurrentVersionNumber" type="int" />
    <bag name="Versions" cascade="all-delete-orphan" inverse="true" lazy="false" >
        <key column="DataObjectId" />
        <one-to-many class="DataObjectVersion" />
    </bag>
</class>

public class DataObjectVersion
{
    public virtual int DataObjectVersionId { get; set; }
    public virtual string Comment { get; set; }
    public virtual int VersionNumber { get; set; }
    public virtual int DataObjectId { get; set; }
}

<class name="DataObjectVersion" table="DataObjectVersion" lazy="false">
    <id name="Id" column="DataObjectVersionId" type="int">
      <generator class="assigned" />
    </id>
    <property name="Comment" column="Comment" type="String(512)" />
    <property name="VersionNumber" column="VersionNumber" type="int" />
    <property name="DataObjectId" column="DataObjectId" type="int" />
</class>  

questionAnswers(2)

yourAnswerToTheQuestion