var cheapCategories = from cat in Categories where cat.Products.Average(p => p.Price) < 100 select new { cat.Name, AvgPrice = cat.Products.Average(p => p.Price) };
var cheapCategories = from cat in Categories let AvgPrice = cat.Products.Average(p => p.Price) where AvgPrice < 100 select new { cat.Name, AvgPrice };