NHibernate:如何根据引用实体的属性对集合进行排序
我想按零售商名称对活动零售商进行排序。然而,零售商是活动零售商的参考实体。我试过了NHibernate:如何根据引用实体的属性对集合进行排序,nhibernate,Nhibernate,我想按零售商名称对活动零售商进行排序。然而,零售商是活动零售商的参考实体。我试过了orderby=“Retailer.Name”。这种分类可能吗 <class name="Campaign" table="Campaign"> <id name="Id"> <generator class="identity"/> </id> <set name="CampaignRetailers" table="CampaignRet
orderby=“Retailer.Name”
。这种分类可能吗
<class name="Campaign" table="Campaign">
<id name="Id">
<generator class="identity"/>
</id>
<set name="CampaignRetailers" table="CampaignRetailers"
cascade="all-delete-orphan" inverse="true" order-by="Retailer.Name">
<key column="CampaignId" not-null="true" />
<one-to-many class="CampaignRetailer" />
</set>
</class>
<class name="CampaignRetailer" table="CampaignRetailers">
<id name="Id">
<generator class="identity"/>
</id>
<many-to-one name="Campaign" column="CampaignId" />
<many-to-one name="Retailer" column="RetailerId" />
</class>
这是不可能的
改用客户端临时排序。例如:
sortedCampaignRetailers = campaign.CampaignRetailers
.OrderBy(x => x.Retailer.Name);
对于这一点(NH 3.x+),以下各项应适用:
var=Session.QueryOver()
.JoinQueryOver(x=>x.Retailer)
.OrderBy(x=>x.Name).Asc
.List();
我通常改用,并使用如下映射按顺序对集合进行排序
<bag name="CampaignRetailers" inverse="true" cascade="delete" order-by="Name">
<key column="CampaignId"/>
<one-to-many class="CampaignRetailer"/>
</bag>
其中名称是活动零售商的财产。
这对我有用。
我也希望你
<bag name="CampaignRetailers" inverse="true" cascade="delete" order-by="Name">
<key column="CampaignId"/>
<one-to-many class="CampaignRetailer"/>
</bag>