Each time I come to it, I find grouping in LINQ a bit odd so I thought I'd drop some code onto this page to try and help me remember it next time around. Using the May CTP, if I've got data; var cars = new [] { new { Make= "BMW" , Model= "1Series" , Colour= "Red" }, new { Make= "BMW" , Model= "3Series" , Colour= "Green" }, new { Make= "BMW" , Model= "5Series" , Colour= "Blue" }, new { Make= "BMW" , Model= "7Series" , Colour= "Green" }, new { Make= "Audi" , Model= "A2" , Colour= "Blue" }, new { Make= "Audi" , Model= "A3" , Colour= "Red" }, new { Make= "Audi" , Model= "A4" , Colour= "Green" }, new { Make= "Audi" , Model= "A6" , Colour= "Blue" }, new { Make= "Audi" , Model= "A8" , Colour= "Red" } }; and I want to group these by make then I can do; var manufacturer = from c in cars group new { c.Model, c.Colour } by c.Make; and the thing that tricks me each time here is that we're producing grouped tuples of; c.Model, c.Colour and we're grouping them by c.Make so that means that the enumeration we'll get back will...