@@ -456,7 +456,7 @@ public virtual SqlExpression<T> GroupBy(string groupBy)
456
456
return this ;
457
457
}
458
458
459
- public virtual SqlExpression < T > GroupBy < Table > ( Expression < Func < Table , object > > keySelector )
459
+ private SqlExpression < T > InternalGroupBy ( Expression keySelector )
460
460
{
461
461
sep = string . Empty ;
462
462
useFieldName = true ;
@@ -467,15 +467,29 @@ public virtual SqlExpression<T> GroupBy<Table>(Expression<Func<Table, object>> k
467
467
return GroupBy ( groupByKey . ToString ( ) ) ;
468
468
}
469
469
470
- public virtual SqlExpression < T > GroupBy ( Expression < Func < T , object > > keySelector )
470
+ public virtual SqlExpression < T > GroupBy < Table > ( Expression < Func < Table , object > > keySelector )
471
471
{
472
- sep = string . Empty ;
473
- useFieldName = true ;
472
+ return InternalGroupBy ( keySelector ) ;
473
+ }
474
474
475
- var groupByKey = Visit ( keySelector ) ;
476
- StripAliases ( groupByKey as SelectList ) ; // No "AS ColumnAlias" in GROUP BY, just the column names/expressions
475
+ public virtual SqlExpression < T > GroupBy < Table1 , Table2 > ( Expression < Func < Table1 , Table2 , object > > keySelector )
476
+ {
477
+ return InternalGroupBy ( keySelector ) ;
478
+ }
477
479
478
- return GroupBy ( groupByKey . ToString ( ) ) ;
480
+ public virtual SqlExpression < T > GroupBy < Table1 , Table2 , Table3 > ( Expression < Func < Table1 , Table2 , Table3 , object > > keySelector )
481
+ {
482
+ return InternalGroupBy ( keySelector ) ;
483
+ }
484
+
485
+ public virtual SqlExpression < T > GroupBy < Table1 , Table2 , Table3 , Table4 > ( Expression < Func < Table1 , Table2 , Table3 , Table4 , object > > keySelector )
486
+ {
487
+ return InternalGroupBy ( keySelector ) ;
488
+ }
489
+
490
+ public virtual SqlExpression < T > GroupBy ( Expression < Func < T , object > > keySelector )
491
+ {
492
+ return InternalGroupBy ( keySelector ) ;
479
493
}
480
494
481
495
public virtual SqlExpression < T > Having ( )
0 commit comments