var namesAndOrderIDs = customers. Where(c => c.Country == "Denmark"). SelectMany(c => c.Orders, (c,o) => new { c, o }). Where(co => co.o.OrderDate.Year == 2005). Select(co => new { co.c.Name, co.o.OrderID });
var namesAndOrderIDs = from c in customers where c.Country == "Denmark" from o in c.Orders where o.OrderDate.Year == 2005 select new { c.Name, o.OrderID }; どっちが読みやすいかと言えば圧倒的に下なんだが。