Linq - Группировка по диапазону приводит к тому, что «подзапрос возвращает более одной строки» - PullRequest
1 голос
/ 20 сентября 2011

Я использую следующий LINQ для группировки по диапазону переменных ( согласно вопросу здесь )

 var ranges = new List<decimal> { 5m, 10m, 20m };

 var grouped = entities.PointTransaction.Where( x => x.UserInfo.College == collegeID 
                  && x.Amount < 0)
                 .GroupBy( x=> ranges.FirstOrDefault( r => r >= Math.Abs( (decimal) x.Amount) )
                  ).ToList();

Однако я получу ошибку:

single-row subquery returns more than one row

Если ни одна из строк не соответствует ни одному из диапазонов (скажем, все значения меньше 5), запрос будет работать.

Я использую DevArt Dotconnect для Oracle, Entity Framework 4

...