构建linq语句(C#,查询语法,但我可以处理方法sytax)有点麻烦。它需要支持分组以及公开计算的属性。我对每个人都有处理,但不能让他们似乎一起工作。任何帮助,将不胜感激。linq通过组计算值
数据
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 }
但我无法按新的匿名类型进行分组,因为您无法对匿名类型运行聚合类似的总和。如果我首先运行团队,那么我无法弄清楚如何在总和之前将总体工作量加入组合。
这说法是不是我的意见 - 这是编译器错误(并在MS文档中),如果你把我原来的查询,并尝试运行非匿名类型的组。诀窍(如你和其他答案所证明的)是首先完成该组。 – ktharsis