2010-07-22 130 views
2

获取一组列表我正在获取一个数据表,并为该键值的表中少于三个条目的特定键查找所有行。我可以做到这一点,它会返回一个分组,其中的关键是我想要分组的ID和一个数据行列表,对于每个键值,至少不存在三次。现在我想列出所有那些失败的数据行。这样做有困难。我所能做的就是得到一份清单。使用linq获取分组值的列表作为列表使用linq

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()只是给了我一个列表的列表。

有什么建议吗?

回答

3

如果你想压平列表的那个列表:

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

这做的伎俩。谢谢。 – Ben 2010-07-23 12:03:01