如何在VB代码中的DataTable上在LINQ中执行Groupby



我如何在linq内部的linq代码(dot.net v4.0)进行dataTable和组的总和?

在下面的示例中,我需要通过GroupNameProductName添加组并在QTY上执行总和。列,顺序以及应在示例中保留的位置,我只需要添加组和总和即可。格式应保持不变(使用e(" fieldName")进行行)。

Dim ordersTable As DataTable = _dsProd.Tables("tblProductSummary")
Dim query =
         (From e In ordersTable
          Where (e("Type").ToString() = "1" Or IsDBNull(e("Type")))
          Order By e("GroupSortOrder") Ascending, e("ProductName")
          Select
            GroupName = e("GroupName"),
            ProductName = e("ProductName"),
            QTY = e("QTY"),
            Type= e("Type")
          )
Dim query =
         (From e In ordersTable
          Where (e("Type").ToString() = "1" Or IsDBNull(e("Type")))
          Order By e("GroupSortOrder") Ascending, e("ProductName")
          Group e By Key = New With {
              .ProductName = e("ProductName"),
              .GroupName = e("GroupName")
          } Into Group
          Select New With {
              .ProductName = Key.ProductName,
              .GroupName = Key.GroupName,
              .Sum = Group.Sum(Function(x) x("QTY"))
          })

相关内容

  • 没有找到相关文章

最新更新