LinQ nested collection query
===

I am new to Linq and cannot resolve following problem. Tried checking a lot on internet but did not get proper answer. 

I have following query:

var packages = from p in Packages
                       from cl in p.Categories
		        from temp in Clusters
			where (cl.Id == temp.Key)
			select p;

Categoriesis a collection of objects containing id and name. Clusters here is a dictionary of key and value pairs. 

I don't want to add a for each loop for each category in package as well. Is there a cleaner way to do this instead of for each loop? 

Thanks in advance,
Pr
