Group by using linq with NHibernate 3.0

筅森魡賤 提交于 2019-12-07 15:08:30

问题


As far as I know group by has only been added in NHibernate 3.0, but even when using version 3, I can't get group by to work.

I have tried to do the following query:

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

But I receive the following error:

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

Does anyone have an idea if I might be mistaken, and group by isn't implemented in NHibernate 3.0, or who knows what I might be doing wrong?


回答1:


GroupBy does work, but it's the combination with other operators that is causing trouble.

For example, this works:

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

But if you try to use Skip/Take to page, it fails.

In short: some constructs are not supported yet; you can use HQL for those. I suggest you open an issue at http://jira.nhforge.org



来源:https://stackoverflow.com/questions/5069925/group-by-using-linq-with-nhibernate-3-0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!