関連オブジェクトのリストを含むクラスがあります。
次のようにマッピングしました。
<class name="MyDto" table="`MyView`" mutable="false" lazy="false">
<id name="Id" column="ID" type="int">
<generator class="assigned" />
</id>
<set name="Days" cascade="all-delete-orphan" lazy="false" >
<key column="Id" />
<one-to-many class="MyAssociatedObj"/>
</set>
</class>
<class name="MyAssociatedObj" table="V_SC_NEED" mutable="false" lazy="false" >
<id name="Id" column="`ID2`" type="int">
<generator class="assigned" />
</id>
<property type="DateTime" not-null="true" name="DayDate" column="`Date`" />
<component name="Audit">
<property type="string" not-null="true" length="255" name="Username" column="`USERNAME`" />
<property type="decimal" not-null="true" name="PreviousValue" column="`PrevVal`" />
</component>
</class>
私がやりたかったことは、関連付けられたオブジェクト MyAssociatedObject でフィルタリングして、MyDto オブジェクトのリストを取得することです。
つまり、たとえば、次の場合:
UnitOfWork.Session.CreateCriteria<MyDto>().List<MyDto>()
42行のリストを取得します。ここで、関連付けられたオブジェクトでそれらをフィルタリングしたいと思います。問題は、私がそうするときです:
UnitOfWork.Session.CreateCriteria<MyDto>().CreateAlias("Days", "days").Add(Restrictions.Between("days.DayDate", query.FromDate, query.ToDate));
私は何とか684行を取得しています! (いくつかのデカルト積または何か)。
何かアドバイスはありますか?どうもありがとう !