0
這部分與this有關。
我想找到一種方法直接在Nhibernate查詢中對鏈接(HasMany)收集結果進行排序。在Nhibernate查詢中排序鏈接集合
ICriteria criteria = Session.CreateCriteria(typeof(PortalPage));
criteria.CreateAlias("PartialViews", "vc");
criteria.AddOrder(Order.Asc("vc.ColumnNumber"));
criteria.Add(Property.ForName("Url").Eq(pageUrl));
return criteria.UniqueResult<PortalPage>();
Correcly使用ORDER BY生成一個select,但鏈接集合中的結果沒有排序。
我想避免在返回結果後對數據集進行排序(比如使用linq到對象),這有可能嗎?
UPDATE: 正如史蒂夫提出的問題可以通過硬編碼在這樣的映射順序屬性來解決:
HasMany(x => x.PartialViews).KeyColumnNames.Add("PageId").AsBag().SetAttribute("order-by", "ColumnNumber");
史蒂夫,我的理解,這將迫使我「硬編碼「排序順序。 Linq2Nhibernate或其他方式可以獲得某種動態結果嗎?如果不是,你會如何表達流利的nhibernate相同的映射? – Ronnie 2009-05-06 14:19:26