我正在使用以下 LINQ 按变量范围进行分组(根据问题here)
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 for Oracle,Entity Framework 4