这是我的情景:NHibernate的QueryOver多个订单通过与别名
public IEnumerable<ISuperMerc> getSuperMercTree(string IDLanguage)
{
SuperMercModel SMer = null;
SuperMercDescriptionModel descrSMer = null;
MercModel Merc = null;
MercDescriptionModel descrMerc = null;
var qOver = _HibSession.QueryOver<SuperMercModel>(() => SMer)
.JoinAlias(() => SMer.DescriptionsSM,() => descrSMer,JoinType.LeftOuterJoin)
.Where(() => descrSMer.IDLanguage == IDLanguage)
.JoinAlias(() => SMer.Merc,() => Merc,JoinType.LeftOuterJoin)
.JoinAlias(() => Merc.DescriptionsMer,() => descrMerc,JoinType.LeftOuterJoin)
.Where(() => descrMerc.IDLanguage == IDLanguage)
.OrderByAlias(() => SMer.ID).Asc
.ThenByAlias(() => descrMerc.Description).Asc
.Future<SuperMercModel>();
return qOver;
}
我遇到了以下错误
无法解析属性:说明:SuperMercModel
奇怪的是,Description字段位于MercDescriptionModel类中,不在SuperMercModel类中。
我正在使用别名来创建多联接和多订单查询。
为什么要使用旧的方法? QueryOver没有任何解决方案吗? – whitestream