【发布时间】:2012-03-10 01:02:29
【问题描述】:
我正在尝试在 lambda 表达式中使用 Sum 方法进行比较,但我想将其用于多重比较。我该如何做到这一点?我查看了“Let”和“SelectMany”,但找不到答案。
下面是代码的样子:
return _dbContext.All<Table>()
.Where(table => table.CurrentLevel <= salesCriteria.MaxTableLevel)
.Where(table => table.Leg
.Where(leg=> salesCriteria.StartDate <= leg.AddDate)
.Where(leg=> leg.AddDate <= salesCriteria.EndDate)
.Sum(leg => leg.Width) <= salesCriteria.MaxGoalAmount);
如您所见,我正在尝试获取具有特定条件的所有表格,这些表格具有具有特定条件的腿,并且其宽度加起来都小于某个值。我还想确保 Sum 大于某个最小值。但是,我不能在这里执行此操作,因为我一执行 .Sum,就会丢失列表。那么我将如何在这里实现呢?我想要的只是 minValue
【问题讨论】:
-
您想在应用其他条件之前将总和应用到满足您先前定义的标准的一组边,还是应用到整个边集?