nhibernate - 通过将 linq 与 NHibernate 3.0 结合使用进行分组

标签 nhibernate linq-to-nhibernate

据我所知,group by 仅在 NHibernate 3.0 中添加,但即使使用版本 3,我也无法使用 group by。

我尝试执行以下查询:

Session.Query().GroupBy(gbftr => gbftr.Tag).OrderByDescending(obftr => obftr.Count()).Take(count).ToList();

但是我收到以下错误:

Antlr.Runtime.NoViableAltException'. [. OrderByDescending (. GroupBy (NHibernate.Linq.NhQueryable `1 [Forum.Core.ForumTagRelation] Quote ((gbftr,) => (gbftr.Tag)),), Quote ((obftr,) => (. Count (obftr,))),)]

有没有人知道我是否可能弄错了,并且 NHibernate 3.0 中没有实现分组依据,或者谁知道我可能做错了什么?

最佳答案

GroupBy 确实有效,但它是与其他运算符的组合造成了麻烦。

例如,这个有效:

session.Query<Foo>().GroupBy(x => x.Tag).Select(x => x.Count()).ToList();

但是如果您尝试使用 Skip/Take to page,它会失败。

简而言之:一些构造尚不支持;你可以为那些使用 HQL。我建议你在 http://jira.nhforge.org 打开一个问题

关于nhibernate - 通过将 linq 与 NHibernate 3.0 结合使用进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5069925/

相关文章:

linq - NHibernate - 使用 LINQ 选择随机记录数

nhibernate - Linq to NHibernate 查询比较枚举映射为整数成功,但作为等效条件查询失败

asp.net-mvc - NHibernate: "failed to lazily initialize...",DDD方法

c# - 按字段排序,该字段是 NHibernate/LINQ 中其他两个字段的组合/函数

NHibernate 与 petapoco 加载机制

nhibernate - 使用 Linq to NHibernate 时,将计算属性添加到类会引发 NHibernate 错误

c# - NHibernate 正在生成连接错误的 SQL

c# - 渴望从 NHibernate 中的表值函数加载相关实体

c# - NHibernate 中的 Future() 是什么意思?

c# - 基于用户角色的 ASP.NET WebAPI 条件序列化