排序NHibernate查询结果
本文关键字:结果 查询 NHibernate 排序 | 更新日期: 2023-09-27 17:50:39
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)) { ... }
您需要返回映射到该表的实体的强类型列表
public IEnumerable<Agency> GetActive()
{
return Session.CreateQuery("from Agency where active=true")
.List<Agency>().orderby(c=>c.agencyname);
}
您可以使用ToList()方法将IENumerable转换为LIst,然后进行排序。