Wow - that's pretty trivial. Something like
from c in categories
join p in products on c equals p.Category into ps
select new { Category = c, Products = ps };
That is a sample from the site below. You should be able to convert this syntax to suit your requirements.
http://msdn.microsoft.com/en-us/vstudio/aa336746[
^]