使用linq嵌套总和,int不包含Sum

时间:2014-05-21 15:29:15

标签: c# linq

以下嵌套行会出错,但我并不了解错误。我用C#编码。如果我看一下其他例子,这应该可以解决问题,但遗憾的是它并没有。

var PupilsAmount= entities.Reservation.AsEnumerable().Where(x => x.AmountOfAttendants= 2.Sum(x => x.PupilsAmount));

所以我想仅为服务员金额= 2的记录提供值PupilsAmount的总和。

提前致谢!

1 个答案:

答案 0 :(得分:2)

错误消息是因为您在值Sum上调用了2Sum是一种对IEnumerable<T>进行操作的扩展方法(例如某种类型的集合),而不是int

根据您的修改,您追求的是:

var PupilsAmount= entities.Reservation.AsEnumerable().Where(x=>x.AmountOfAttendants==2).Sum(x=>x.PupilsAmount);

我的修改中发生的事情分为两个阶段:

  1. 首先,我使用Where过滤列表,仅获取AmountOfAttendants等于2的记录
  2. 然后,我将余下的记录加PupilsAmount