2
有一個實體努力具有財產列表和財產ADTYPE 我們有幾個廣告類型枚舉對象和specialLists枚舉對象選擇IList<Effort>
NHibernate的QueryOver了許多表
我這樣做:
return NHibernateSession.QueryOver<Effort>()
.JoinQueryOver(effort => effort.AdType)
.WhereRestrictionOn(adType => adType.Id)
.IsIn(adTypes.Select(adt => (long)adt).ToList())
.Clone()
.JoinQueryOver(effort => effort.List)
.WhereRestrictionOn(list => list.Id)
.IsIn(specialLists.Select(sl => (long)sl).ToList())
.List<Effort>();
你可以看到我使用了一個沒有任何描述的奇怪的Clone()方法。它效果很好。
你用什麼方式查詢這些查詢?
我很好奇,在這裏,如果你省略了克隆,亦是SQL被激發到數據庫會發生什麼? – Rippo
沒有克隆()它不會嘗試做以下加入努力。它會嘗試將其轉換爲AdType。所以不會有.JoinQueryOver(effort => effort.List)它將會是.JoinQueryOver(adType => adType .....) – Anubis