public IEnumerable GetActive()
{
return Session.CreateQuery("from Agency where active=true order by agencyname").List();
}
很明显,我可以在查询本身进行排序,但之后做什么呢?我只想对这里返回的IEnumerable进行排序。我可以在foreach循环中使用结果,但我没有标准列表集合中的可用功能(例如使用LINQ对数据进行排序)。对此进行排序的最佳方法是什么?排序NHibernate的查询结果
编辑:这工作,并保留使用的foreach的能力:
public IEnumerable<Agency> GetActive()
{
return Session.CreateQuery("from Agency where active=true order by agencyname").List<Agency>();
}
foreach (Agency agency in agencies.OrderBy(c=>c.AgencyId)) { ... }
我实际上在几分钟前试过,“源不是IEnumerable <>” – Chris 2011-04-19 17:00:42
你使用的是什么版本的NHibernate? – mxmissile 2011-04-19 17:07:38
NHibernate.dll的版本是3.0.0.4000。 – Chris 2011-04-19 17:10:48