Группировать с помощью linq с NHibernate 3.0 - PullRequest
3 голосов
/ 21 февраля 2011

Насколько я знаю, group by был добавлен только в NHibernate 3.0, но даже при использовании версии 3 я не могу заставить работать группу.

Я попытался выполнить следующий запрос:

Session.Query (). GroupBy (gbftr => gbftr.Tag) .OrderByDescending (obftr => obftr.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, или кто знает, что я могу бытьделать неправильно?

1 Ответ

2 голосов
/ 22 февраля 2011

GroupBy работает , но это сочетание с другими операторами вызывает проблемы.

Например, это работает:

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

Но если вы попытаетесь использовать Пропустить / Перейти на страницу, произойдет сбой.

Короче говоря: некоторые конструкции еще не поддерживаются; Вы можете использовать HQL для тех. Я предлагаю вам открыть вопрос на http://jira.nhforge.org

...