我有一个如下所示的DataTable:
Id Value
123 4.0
123 5.0
234 1.0
345 2.0
345 3.0
我想最终得到(可能是一个新的DataTable)包含的总和 按ID分组的值如下:
Id SumOfValue
123 9.0
234 1.0
345 5.0
这是我的代码,
var query = from row in dTable.AsEnumerable()
group row by row.Field<double>("ITEM_NO") into grp
orderby grp.Key
select new
{
ITEM_NO = grp.Key,
sum = grp.Sum(r = r.Field<double>("ITEM_STOCK"))
};
我收到r is undefined
的错误,我也无法在新的数据表中添加这些值。
有谁知道如何写这个?
感谢。
答案 0 :(得分:3)
我相信您没有正确指定操作。试试这个:
var query = from row in dTable.AsEnumerable()
group row by row.Field<double>("ITEM_NO") into grp
orderby grp.Key
select new
{
ITEM_NO = grp.Key,
sum = grp.Sum(r => r.Field<double>("ITEM_STOCK"))
};
差异为r => r.Field
而非r = r.Field
。