【发布时间】:2012-10-05 15:05:34
【问题描述】:
在构造 linq 语句时遇到了一些麻烦(C#,查询语法,但我可以处理方法语法)。它需要支持分组以及公开计算的属性。我对每一个都有处理,但无法让它们看起来一起工作。任何帮助将不胜感激。
数据
GrpField Qty Price
------------- --- -----
RED 1 10
RED 2 10
RED 1 50
BLUE 2 30
BLUE 2 50
输出需要是每组总价格的总和(数量 * 价格)
期望的结果
RED 80
BLUE 160
这让我得到了总价格线
from x in origdata
let linetotal = x.qty * x.price
select new { x.grpfield, x.qty, x.price, linetotal }
但我无法按新的匿名类型进行分组,因为您无法在匿名类型上运行 sum 之类的聚合。如果我先运行该组,我无法弄清楚如何在总和之前将 linetotal 加入混合中。
【问题讨论】: