尝试使用nhibernate HQL或QueryOver进行以下工作。我正在尝试获取实体组织的排序DISTINCT列表,同时对连接表进行排序并使用分页。 实体是(缩短版):
组织
OrganisationId
Name
StatusId
SubstatusId
地址
AddressId
OrganisationId
City
CountryId
列表项
ListItemId
Name
StatusId,SubstatusId和CountryId是ListItemId的外键 ListItemId是用户输入选项的列表。 每个组织可以有多个地址
要对Organisation.Address [x] .Country.Name进行排序我需要在select中包含它,但显然我不会为特定地址获得不同的组织而是不同的组织。
然后我不能将它带入nHibernate实体,因为它有额外的Country.Name字段。
另外,我不能在初始结果上运行另一个明显的结果,因为我使用.SetFirstResult和.SetMaxResults来进行SQL分页。 如果我只想要10行,那么我最初会得到10行不同的(组织+国家/地区名称)。 当我运行另一个不同的时候,如果一个组织有更多的地址,这将减少。
在Address.Name,Status.Name,SubStatus.Name
上排序时如何获取组织的不同分页列表的任何想法答案 0 :(得分:0)
你可以用2个选择和一点linq来实现:
您的投影选择Organisation.Id,Address.Name,Status.Name,SubStatus.Name,正确排序并分页结果(您只需选择Organisation.Id)
在上一个投影中执行另一个查询以通过ID加载组织
合并查询,按照第一次选择