這是我的情景: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