//Group Joins var CategoriesAndProducts = from category in FauxNorthwind.Data.Categories join product in FauxNorthwind.Data.Products on category equals product.Category into categoryProducts select new { CategoryName = category.CategoryName, ProductCount = categoryProducts.Count(), Products = categoryProducts }; //Inner Joins var CategoriesAndProducts2 = from category in FauxNorthwind.Data.Categories join product in FauxNorthwind.Data.Products on category equals product.Category select new { category.CategoryName, product }; //Left Outer Joins var CategoriesAndProducts3 = from category in FauxNorthwind.Data.Categories join product in FauxNorthwind.Data.Products on category equals product.Category into categoryProducts from product in categoryProducts.DefaultIfEmpty() select new { category.CategoryName, product }; //Cross Joins var CategoriesAndProducts = from category in FauxNorthwind.Data.Categories from product in FauxNorthwind.Data.Products select new { category.CategoryName, product.ProductName, product.UnitPrice };