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)) { ... }
答案 0 :(得分:3)
您需要返回映射到此表的实体的强类型列表
public IEnumerable<Agency> GetActive()
{
return Session.CreateQuery("from Agency where active=true")
.List<Agency>().orderby(c=>c.agencyname);
}
答案 1 :(得分:0)
您可以使用ToList()方法将IENumerable转换为LIst,然后排序。