【发布时间】:2011-04-19 16:47:01
【问题描述】:
public IEnumerable GetActive()
{
return Session.CreateQuery("from Agency where active=true order by agencyname").List();
}
显然,我可以对查询本身进行排序,但是之后再做呢?我只想对这里返回的 IEnumerable 进行排序。我可以很好地在 foreach 循环中使用结果,但我没有标准列表集合上可用的功能(例如使用 LINQ 对数据进行排序)。最好的排序方法是什么?
编辑:这行得通,并保留了使用 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)) { ... }
【问题讨论】:
-
其实我几分钟前就试过了,“source is not IEnumerable”
-
您使用的是哪个版本的 NHibernate?
-
NHibernate.dll 上的版本是 3.0.0.4000。
-
我的代码错了。请参阅 mBotros 的回答。
标签: c# linq nhibernate sorting