@@ -1362,12 +1362,15 @@ protected virtual bool TryTranslateAggregateMethodCall(
13621362 {
13631363 switch ( genericMethod . Name )
13641364 {
1365- case nameof ( Queryable . Average )
1366- when QueryableMethods . IsAverageWithoutSelector ( genericMethod ) :
13671365 case nameof ( Queryable . Max )
13681366 when genericMethod == QueryableMethods . MaxWithoutSelector :
13691367 case nameof ( Queryable . Min )
13701368 when genericMethod == QueryableMethods . MinWithoutSelector :
1369+ enumerableExpression = enumerableExpression . DropDistinct ( ) ;
1370+ break ;
1371+
1372+ case nameof ( Queryable . Average )
1373+ when QueryableMethods . IsAverageWithoutSelector ( genericMethod ) :
13711374 case nameof ( Queryable . Sum )
13721375 when QueryableMethods . IsSumWithoutSelector ( genericMethod ) :
13731376 case nameof ( Queryable . Count )
@@ -1376,12 +1379,16 @@ when QueryableMethods.IsSumWithoutSelector(genericMethod):
13761379 when genericMethod == QueryableMethods . LongCountWithoutPredicate :
13771380 break ;
13781381
1379- case nameof ( Queryable . Average )
1380- when QueryableMethods . IsAverageWithSelector ( genericMethod ) :
13811382 case nameof ( Queryable . Max )
13821383 when genericMethod == QueryableMethods . MaxWithSelector :
13831384 case nameof ( Queryable . Min )
13841385 when genericMethod == QueryableMethods . MinWithSelector :
1386+ enumerableExpression = enumerableExpression . DropDistinct ( ) ;
1387+ enumerableExpression = ProcessSelector ( enumerableExpression , arguments [ 1 ] . UnwrapLambdaFromQuote ( ) ) ;
1388+ break ;
1389+
1390+ case nameof ( Queryable . Average )
1391+ when QueryableMethods . IsAverageWithSelector ( genericMethod ) :
13851392 case nameof ( Queryable . Sum )
13861393 when QueryableMethods . IsSumWithSelector ( genericMethod ) :
13871394 enumerableExpression = ProcessSelector ( enumerableExpression , arguments [ 1 ] . UnwrapLambdaFromQuote ( ) ) ;
0 commit comments