Fetch with GroupBy throws NullReferenceException

Description

that query:

1 2 3 4 5 6 var result = db.Orders .Fetch(x => x.Customer) .GroupBy(x => x.Customer.CompanyName) .OrderBy(x => x.Key) .Select(x => new { P0 = x.Key, P1 = x.Count() }) .ToArray();

results into NullReferenceException
bei NHibernate.Linq.Visitors.ResultOperatorProcessors.ProcessFetch.Process(FetchRequestBase resultOperator, QueryModelVisitor queryModelVisitor, IntermediateHqlTree tree) in d:\Projects\NHibernateCore\src\NHibernate\Linq\Visitors\ResultOperatorProcessors\ProcessFetch.cs:Zeile 11.
bei NHibernate.Linq.Visitors.ResultOperatorProcessors.ProcessFetchOne.Process(FetchOneRequest resultOperator, QueryModelVisitor queryModelVisitor, IntermediateHqlTree tree) in d:\Projects\NHibernateCore\src\NHibernate\Linq\Visitors\ResultOperatorProcessors\ProcessFetchOne.cs:Zeile 9.
bei NHibernate.Linq.Visitors.ResultOperatorProcessors.ResultOperatorProcessor`1.Process(ResultOperatorBase resultOperator, QueryModelVisitor queryModel, IntermediateHqlTree tree) in d:\Projects\NHibernateCore\src\NHibernate\Linq\Visitors\ResultOperatorProcessors\ResultOperatorProcessor.cs:Zeile 17.
bei NHibernate.Linq.Visitors.ResultOperatorProcessors.ResultOperatorMap.Process(ResultOperatorBase resultOperator, QueryModelVisitor queryModel, IntermediateHqlTree tree) in d:\Projects\NHibernateCore\src\NHibernate\Linq\Visitors\ResultOperatorProcessors\ResultOperatorMap.cs:Zeile 24.
bei NHibernate.Linq.Visitors.QueryModelVisitor.VisitResultOperator(ResultOperatorBase resultOperator, QueryModel queryModel, Int32 index) in d:\Projects\NHibernateCore\src\NHibernate\Linq\Visitors\QueryModelVisitor.cs:Zeile 216.
bei NHibernate.Linq.Visitors.QueryModelVisitor.VisitMainFromClause(MainFromClause fromClause, QueryModel queryModel) in d:\Projects\NHibernateCore\src\NHibernate\Linq\Visitors\QueryModelVisitor.cs:Zeile 138.
bei Remotion.Linq.Clauses.MainFromClause.Accept(IQueryModelVisitor visitor, QueryModel queryModel) in c:\build\Remotion\working\Relinq\Core\Clauses\MainFromClause.cs:Zeile 62.
bei Remotion.Linq.QueryModelVisitorBase.VisitQueryModel(QueryModel queryModel) in c:\build\Remotion\working\Relinq\Core\QueryModelVisitorBase.cs:Zeile 41.
bei NHibernate.Linq.Visitors.QueryModelVisitor.Visit() in d:\Projects\NHibernateCore\src\NHibernate\Linq\Visitors\QueryModelVisitor.cs:Zeile 122.
bei NHibernate.Linq.Visitors.QueryModelVisitor.GenerateHqlQuery(QueryModel queryModel, VisitorParameters parameters, Boolean root) in d:\Projects\NHibernateCore\src\NHibernate\Linq\Visitors\QueryModelVisitor.cs:Zeile 68.
bei NHibernate.Linq.NhLinqExpression.Translate(ISessionFactoryImplementor sessionFactory, Boolean filter) in d:\Projects\NHibernateCore\src\NHibernate\Linq\NhLinqExpression.cs:Zeile 67.
bei NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(IQueryExpression queryExpression, String collectionRole, Boolean shallow, IDictionary`2 filters, ISessionFactoryImplementor factory) in d:\Projects\NHibernateCore\src\NHibernate\Hql\Ast\ANTLR\ASTQueryTranslatorFactory.cs:Zeile 24.
bei NHibernate.Engine.Query.QueryExpressionPlan.CreateTranslators(IQueryExpression queryExpression, String collectionRole, Boolean shallow, IDictionary`2 enabledFilters, ISessionFactoryImplementor factory) in d:\Projects\NHibernateCore\src\NHibernate\Engine\Query\QueryExpressionPlan.cs:Zeile 32.
bei NHibernate.Engine.Query.QueryExpressionPlan..ctor(IQueryExpression queryExpression, Boolean shallow, IDictionary`2 enabledFilters, ISessionFactoryImplementor factory) in d:\Projects\NHibernateCore\src\NHibernate\Engine\Query\QueryExpressionPlan.cs:Zeile 13.
bei NHibernate.Engine.Query.QueryPlanCache.GetHQLQueryPlan(IQueryExpression queryExpression, Boolean shallow, IDictionary`2 enabledFilters) in d:\Projects\NHibernateCore\src\NHibernate\Engine\Query\QueryPlanCache.cs:Zeile 67.
bei NHibernate.Impl.AbstractSessionImpl.GetHQLQueryPlan(IQueryExpression queryExpression, Boolean shallow) in d:\Projects\NHibernateCore\src\NHibernate\Impl\AbstractSessionImpl.cs:Zeile 412.
bei NHibernate.Impl.AbstractSessionImpl.CreateQuery(IQueryExpression queryExpression) in d:\Projects\NHibernateCore\src\NHibernate\Impl\AbstractSessionImpl.cs:Zeile 372.
bei NHibernate.Linq.DefaultQueryProvider.PrepareQuery(Expression expression, IQuery& query, NhLinqExpression& nhQuery) in d:\Projects\NHibernateCore\src\NHibernate\Linq\DefaultQueryProvider.cs:Zeile 73.
bei NHibernate.Linq.DefaultQueryProvider.Execute(Expression expression) in d:\Projects\NHibernateCore\src\NHibernate\Linq\DefaultQueryProvider.cs:Zeile 39.
bei NHibernate.Linq.DefaultQueryProvider.Execute[TResult](Expression expression) in d:\Projects\NHibernateCore\src\NHibernate\Linq\DefaultQueryProvider.cs:Zeile 46.
bei Remotion.Linq.QueryableBase`1.GetEnumerator() in c:\build\Remotion\working\Relinq\Core\QueryableBase.cs:Zeile 132.
bei System.Linq.Buffer`1..ctor(IEnumerable`1 source)
bei System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)

Environment

None

Status

Assignee

Alex Zaytsev

Reporter

Kai Cissarek

Components

Fix versions

Affects versions

4.0.2

Priority

Trivial
Configure