Linq在列表中使用sum()列表
它们之间的关系是许多期刊的一个顺序。现在我想要得到所有挂单的总和(或者在Order
实体中被标记为false
,IsDelivered
下的记录)。Linq在列表中使用sum()列表
到目前为止,我有这个疑问,但似乎无法得到工作时,我想补充.Sum()
Orders .Where(o => o.IsDelivered == false) .Select(o => new { pendingOrders = o.Journals.Sum(j => j.TotalAmount) })
到目前为止,这个结果:
概括地说,我怎样才能得到他们的总和?如果查询需要更改或应该是一个新的。这是值得欢迎的。任何帮助将非常感激。谢谢!
回答:
您可以通过几种方式做到这一点:
- 你可以添加
Sum(n => n.pendingOrders)
到您的查询结尾加起来的数值,或 - 您可以在
Select
之前使用SelectMany
,并使用Sum
而不是Select
。
这两种方法中的任何一种都可以工作。
回答:
在这种情况下,它是最容易使用SelectMany
(MSDN)扁平化的集合,然后使用Sum
:
Orders.Where(o => !o.IsDelivered).SelectMany(o => o.Journals).Sum(j => j.TotalAmount);
以上是 Linq在列表中使用sum()列表 的全部内容, 来源链接: utcz.com/qa/265642.html