【发布时间】:2016-12-19 06:28:34
【问题描述】:
在对我的查询使用分页时,出现错误“为 'query' 指定了多次 'Translat2_' 列”。
我的类层次结构:
Politician
--PoliticianInFactions : PoliticianInFaction
--EntityTranslations : Translation
Faction
--PoliticiansInFaction : PoliticianInFaction
--EntityTranslations : Translation
Translation
--Name : String
--Language : Language
我想要的是:获取按其派系名称而不是其名称排序的政客。 我的查询:
var criteria = Session.CreateCriteria<Politician>("politician");
// criteria for current faction
var currentFactionCriteria = criteria
.CreateCriteria<Politician>(x => x.PoliticianInFactions, JoinType.InnerJoin)
.Add<PoliticianInFaction>(x => x.FromDate <= DateTime.Now)
.CreateCriteria<PoliticianInFaction>(x => x.Faction, JoinType.InnerJoin);
// add order by faction's name !!!
currentFactionCriteria
.CreateCriteria<Faction>(x => x.EntityTranslations, JoinType.InnerJoin)
.Add<Translation>(x => x.Language.Id == languageId)
.AddOrder<CityTranslation>(x => x.Name, Order.Asc);
// add order by politician's name !!!
criteria
.CreateCriteria<Politician>(x => x.EntityTranslations, JoinType.InnerJoin)
.Add<Translation>(x => x.Language.Id == languageId)
.AddOrder<Translation>(x => x.Name, Order.Asc);
向此查询添加分页时出现错误。没有分页一切正常。此外,如果我评论(删除)任何标有(!!!)异常消失的块。 我究竟做错了什么?如果这是 NHibernate 的错误,请给我一些解决方法。谢谢你。
【问题讨论】:
-
如果您使用 NHibernate Lambda 扩展,我认为我在使用两个同名列时遇到了类似的错误。您是否尝试过仅使用 Criteria API 编写它?
标签: nhibernate fluent-nhibernate pagination