使用linq将分组值集合作为列表

时间:2010-07-22 20:23:01

标签: c# linq group-by

我正在获取一个数据表并查找特定键的所有行,该键的表中该键值的条目少于三个。我可以做得很好,它返回一个分组,其中键是我想要分组的id和一个数据行列表,对于每个键值,它至少不存在三次。现在我想获得所有失败的数据行的直接列表。我这样做有困难。我所能做的就是得到一份清单。

var rows = from dr in stagingTable.AsEnumerable()
group by dr.Field<long>("KEY_ID") into g
where g.Count() < 3
select new {ID = g.Key, Values = g};

现在我有了分组信息,我想要一个可以在所有组中找到的所有数据行的直接列表。做g.ToList()只给我一个列表列表。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

如果您想要压缩该列表列表:

 var flattened = rows.SelectMany(x=>x.Values).ToList();