File tree Expand file tree Collapse file tree 1 file changed +13
-6
lines changed
src/NHibernate/Linq/GroupBy Expand file tree Collapse file tree 1 file changed +13
-6
lines changed Original file line number Diff line number Diff line change 1
1
using System ;
2
+ using System . Linq ;
2
3
using System . Linq . Expressions ;
3
4
using NHibernate . Linq . ResultOperators ;
5
+ using NHibernate . Util ;
4
6
using Remotion . Linq ;
5
7
using Remotion . Linq . Clauses ;
6
8
using Remotion . Linq . Clauses . ExpressionVisitors ;
@@ -13,13 +15,18 @@ public static class NonAggregatingGroupByRewriter
13
15
{
14
16
public static void ReWrite ( QueryModel queryModel )
15
17
{
16
- if ( queryModel . ResultOperators . Count == 1
17
- && queryModel . ResultOperators [ 0 ] is GroupResultOperator
18
- && IsNonAggregatingGroupBy ( queryModel ) )
18
+ if ( queryModel . ResultOperators . All ( r => r is GroupResultOperator )
19
+ && IsNonAggregatingGroupBy ( queryModel ) )
19
20
{
20
- var resultOperator = ( GroupResultOperator ) queryModel . ResultOperators [ 0 ] ;
21
+ var resultOperators = queryModel . ResultOperators
22
+ . ToArray ( r => new NonAggregatingGroupBy ( ( GroupResultOperator ) r ) ) ;
23
+
21
24
queryModel . ResultOperators . Clear ( ) ;
22
- queryModel . ResultOperators . Add ( new NonAggregatingGroupBy ( resultOperator ) ) ;
25
+ foreach ( var resultOperator in resultOperators )
26
+ {
27
+ queryModel . ResultOperators . Add ( resultOperator ) ;
28
+ }
29
+
23
30
return ;
24
31
}
25
32
@@ -103,4 +110,4 @@ public ClientSideSelect2(LambdaExpression selectClause)
103
110
SelectClause = selectClause ;
104
111
}
105
112
}
106
- }
113
+ }
You can’t perform that action at this time.
0 commit comments