查找至少有25个子记录大于0 - LAMBDA的记录
本文关键字:记录 大于 LAMBDA 25个 查找 | 更新日期: 2023-09-27 17:54:49
我试图将结果限制为仅包含至少25条loadWeight大于0的记录的结果。(在这种情况下,使用Take()的前25个是可以的)。
proxyList = proxyList
.Where(x => x.Load.LoadDetailList
.Take(25)
.Where(y => y.loadWeight > 0)
.ToList();
将Where(y => y.loadWeight > 0)
放在首位以过滤出要计数的记录;Skip
24条记录,检查目前是否有Any
记录(即25条或更多记录):
proxyList = proxyList
.Where(x => x.Load.LoadDetailList
.Where(y => y.loadWeight > 0)
.Skip(24)
.Any()) // Any: do we have 25th item?
.ToList();
proxyList = proxyList
.Where(x => x.Load.LoadDetailList
.Where(y => y.loadWeight > 0)
.Count() > 25)
.ToList();
您的Where
函数接受一个谓词,因此您需要返回一个布尔值。您要检查符合条件的记录计数是否超过25条。
proxyList.Where(x => x.Load.LoadDetailTest.Count(y => y.LoadWeight > 0) > 25));