Я использую следующий 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