如何在NHibernate查询中使用Max和Group By
本文关键字:Max Group By NHibernate 查询 | 更新日期: 2023-09-27 17:58:52
如何使用NHibernate执行以下查询?
SELECT ClientId, MAX(Id)
FROM Items
GROUP BY ClientId;
设法解决了这个问题,最终比我想象的更简单:
var result = from item in session.Linq<Item>()
group item by item.ClientId
into itemGroups
select new
{
id = itemGroups.Key,
max = itemGroups.Max(er => er.Id)
};
关于NHibernate的三个查询API,请参见NHibernaate参考的第14、15和16章。
您还可以在NHibernate上使用LINQ查询。这可能是最简单的选择。对ISession
使用Query<MyType>()
扩展方法来获得IQueryable
。