我正在尝试使用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()