【问题标题】:LINQ Group by and Sum syntaxLINQ Group by 和 Sum 语法
【发布时间】:2012-10-27 09:32:04
【问题描述】:

我有以下 vb.net LINQ 查询

Dim q = From row In dx.AsEnumerable
                Group row By G = New With {.Cat = row.Field(Of Integer)("catalogid")}.Cat,
                                 New With {.Backorder = row.Field(Of Integer)("backorder")}.Backorder Into pg = Group
                Select New With
                       {
                           .Cat = pg.Cat,
                           .Backorder = pg.Sum(Function(x) x.Backorder)
                       }

我有一个名为 dx 的数据表

catalogid      backorder
1              5
1              10
2              1
2              5

我想Sumbackorder 列,其中catalogid 相同,所以结果如下

catalogid      backorder
1              15
2              6

Select new with 部分,有什么问题?

【问题讨论】:

    标签: vb.net linq group-by sum ienumerable


    【解决方案1】:

    尝试关注...

     var result = dx.AsEnumerable()
                    .GroupBy(row => row.Field<int>("catalogid"))
                    .Select(group => group.Sum(item => item.Field<int>     ("backorder")).CopyToDataTable();
    

    或

    var result= from s in dx.AsEnumerable()
                group s by s.Field<int>("catalogid") into grp
                select new { 
                CatalogId= grp.Key, 
                Back Order = grp.Sum(r => r.Field<int>("backorder"))
                };
    
    DataTable datatbl = result.CopyToDataTable(); 
    

    【讨论】:

    • 关于如何将结果放入数据表或将其保存到 dx 数据表的任何提示?
    猜你喜欢
    • 2021-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多