1
我有一個簡單的Waiver模型,我想進行一個查詢,返回所有未覆蓋的Waivers。使用自連接和NHibernate Criteria API查詢重寫實體
public class Waiver
{
private readonly int id;
protected Waiver()
{
this.id = 0;
}
public virtual int Id { get { return id; } }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual bool IsRequired { get; set; }
public virtual DateTime EffectiveDate { get; set; }
public virtual Waiver OverriddenWaiver { get; set; }
}
這裏的地圖:
<class name="Waiver" table="Music_Waivers">
<id name="id" access="field" column="WaiverId" unsaved-value="0">
<generator class="native" />
</id>
<property name="Name" column="Name" />
<property name="Description" column="Description" />
<property name="IsRequired" column="IsRequired" />
<property name="EffectiveDate" column="EffectiveDate" />
<many-to-one name="OverriddenWaiver" class="Waiver" column="OverrideWaiverId" />
</class>
現在,我想在我的倉庫裏的方法與簽名公衆的IList GetLatest()。出於某種原因,我很難用CriteriaAPI實現這一點。我可以在T-SQL中寫這個沒問題。