我可以使用此代码从 DataTable 中获取每个组(按 ID 分组)的每一行:
dt = dt.AsEnumerable().GroupBy(r => r.Field<int>("ID")).Select(g => g.First()).CopyToDataTable();
但它只对 ID 进行分组,我必须自己对其进行硬编码。
我想知道是否有通用方法,将列名列表放入分组中。
public DataTable GetFirstFromEachGroupBy(List<string> GroupByColumns)
{
dt = dt.AsEnumerable().GroupBy(GroupByColumns).Select(g => g.First()).CopyToDataTable();
}