如何使用NHibernate执行以下查询?
SELECT ClientId, MAX(Id)
FROM Items
GROUP BY ClientId;
答案 0 :(得分:2)
管理工作,最终比我想象的更简单:
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)
};
答案 1 :(得分:0)
有关NHibernate的三个查询API,请参阅NHibernate参考的第14,15和16章。
您还可以在NHibernate上使用LINQ查询。这可能是最简单的替代方案。使用Query<MyType>()
的{{1}}扩展程序获取ISession
。