使用带有分组和列总和的linq过滤数据表

时间:2019-05-06 12:32:39

标签: vb.net

我正在尝试使用linq过滤数据表。需要基于一个列对数据进行分组,然后对另一列进行求和,结果需要是一个数据表。我尝试了以下代码,它给出了输出的字典,但是如何将其作为数据表而不是字典。

工作代码:

Dim dicList As Dictionary(Of String, Decimal) = dtFilteredData.AsEnumerable().
    GroupBy(Function(r) r.Field(Of String)("Location")).
    Select(Function(drg) New With {.cc = drg.Key, .total = drg.Sum(Function(dr) dr.Field(Of Decimal)("Expenses"))}).
    ToDictionary(Function(p) p.cc, Function(s) s.total)

尝试使用数据表:

Dim dtOutResult As DataTable = New DataTable
dtOutResult = dtFilteredData.AsEnumerable().
    GroupBy(Function(r) New With {Key .Col1 = r("Location")}).
    [Select](Function(g) g.OrderBy(Function(r) r("Expenses")).First()).CopyToDataTable()

0 个答案:

没有答案