查询数据表

时间:2011-04-11 17:00:52

标签: c#

我有一个如下所示的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的错误,我也无法在新的数据表中添加这些值。

有谁知道如何写这个?

感谢。

1 个答案:

答案 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