我想通过Retailer.Name对CampaignRetailers进行排序。但是,零售商是CampaignRetailers的引用实体。我试过了order-by="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>
答案 0 :(得分:2)
这是不可能的。
使用客户端adhoc排序。例如:
sortedCampaignRetailers = campaign.CampaignRetailers
.OrderBy(x => x.Retailer.Name);
答案 1 :(得分:0)
以下内容应该可以正常使用(NH 3.x +):
var retailers = Session.QueryOver<CampaignRetailer>()
.JoinQueryOver(x => x.Retailer)
.OrderBy(x => x.Name).Asc
.List<CampaignRetailer>();
答案 2 :(得分:0)
我经常使用,我通过使用如下的映射来订购集合。
<bag name="CampaignRetailers" inverse="true" cascade="delete" order-by="Name">
<key column="CampaignId"/>
<one-to-many class="CampaignRetailer"/>
</bag>
其中名称是CampaignRetailers的属性。 这适合我。 我也希望你。