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中写这个没问题。