如何使用linq对数据表中的多个列进行分组?

时间:2013-12-20 07:49:16

标签: c# linq

我正在使用Linq对我的数据表中的某些列进行分组

List<DataTable> tables = ds
  .Tables[0]
  .AsEnumerable()
  .GroupBy(row => row.Field<string>("EMAIL"), row.Field<string>("NAME"))
  .Select(g => g.CopyToDataTable())
  .ToList();

我收到构建错误“当前上下文中不存在名称'row'”?如何处理多个组?

1 个答案:

答案 0 :(得分:7)

使用匿名对象:

List<DataTable> tables = ds.Tables[0].AsEnumerable()
                           .GroupBy(row => new {
                               Email = row.Field<string>("EMAIL"), 
                               Name = row.Field<string>("NAME") 
                           }).Select(g => g.CopyToDataTable()).ToList();