tags:

views:

42

answers:

1

I am taking a datatable and finding all the rows for a specific key that have fewer than three entries in the table for that key value. I can do this fine and it returns a grouping with the key being the id I want to group on and a list of the datarows that, for each key value, don't exist at least three times. Now I want to get a straight list of all those datarows that failed. I am having trouble doing this. All I can seem to do is get a list of lists.

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};

Now that I have the grouped information, I want a straight list of all the datarows that can be found within all the groups. Doing g.ToList() just gives me a list of lists.

Any suggestions?

+3  A: 

If you wanted to flatten that list of lists:

 var flattened = rows.SelectMany(x=>x.Values).ToList();
p.campbell
That does the trick. Thanks.
Ben