LINQ to NHibernate — .GroupBy(). Skip().Take() вызывает исключение

NHibernate версии 3.3.1.4000

Запрос:

IQueryable<Activity> activities = _repository.GetList<Activity>();

IQueryable<ActivityStatistic> statistics = activities
    .GroupBy(activity => activity.ActivityLicense.SerialNumber)
    .Select(grouping => new ActivityStatistic
        {
            ActivityCount = grouping.Count(),
            LicenseCode = grouping.Key              
        })
    .OrderBy(stat => stat.LicenseCode);

List<ActivityStatistic> result = statistics
    .Skip(request.StartIndex)
    .Take(request.Count)
    .ToList();

Если я прокомментирую код Skip/Take, он работает правильно. Как я могу заставить его работать вместе без вызова ToList() после OrderBy с использованием LINQ to NHibernate?

Заранее спасибо.

Обновление:

Исключение:

The method or operation is not implemented.

 at NHibernate.Linq.GroupBy.AggregatingGroupByRewriter.FlattenSubQuery(SubQueryExpression subQueryExpression, QueryModel queryModel)
   at NHibernate.Linq.GroupBy.AggregatingGroupByRewriter.ReWrite(QueryModel queryModel)
   at NHibernate.Linq.Visitors.QueryModelVisitor.GenerateHqlQuery(QueryModel queryModel, VisitorParameters parameters, Boolean root)
   at NHibernate.Linq.NhLinqExpression.Translate(ISessionFactoryImplementor sessionFactory)
   at NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(String queryIdentifier, IQueryExpression queryExpression, String collectionRole, Boolean shallow, IDictionary`2 filters, ISessionFactoryImplementor factory)
   at NHibernate.Engine.Query.QueryPlanCache.GetHQLQueryPlan(IQueryExpression queryExpression, Boolean shallow, IDictionary`2 enabledFilters)
   at NHibernate.Impl.AbstractSessionImpl.GetHQLQueryPlan(IQueryExpression queryExpression, Boolean shallow)
   at NHibernate.Impl.AbstractSessionImpl.CreateQuery(IQueryExpression queryExpression)
   at NHibernate.Linq.DefaultQueryProvider.PrepareQuery(Expression expression, IQuery& query, NhLinqExpression& nhQuery)
   at NHibernate.Linq.DefaultQueryProvider.Execute(Expression expression)
   at NHibernate.Linq.DefaultQueryProvider.Execute[TResult](Expression expression)
   at Remotion.Linq.QueryableBase`1.GetEnumerator()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at MBP.AuthorizationService.Logic.LicenseService.GetActivityStatistic(CommonRequest request, Int32& recordsCount) in D:\Projects\MBP.Launcher\MBP.AuthorizationService.Logic\LicenseService.cs:line 201

person Ievgen Martynov    schedule 09.08.2012    source источник
comment
Не могли бы вы опубликовать свое исключение (с внутренними исключениями/трассировкой стека)?   -  person Miroslav Popovic    schedule 09.08.2012
comment
Это известная проблема, с которой я только что столкнулся: nhibernate.jira.com/browse/NH -2566   -  person Michael Petito    schedule 22.08.2012


Ответы (1)


Майкл Петито ответил на вопрос:

Это известная проблема, с которой я только что столкнулся: nhibernate.jira.com/browse/NH-2566 — Майкл Петито,

Ждем новых выпусков...

person Ievgen Martynov    schedule 22.12.2012