Entity Framework を使用してデータを取得しています。以下のコードに示すように、LINQ クエリは複数の結合を使用しています。これをより高速な SQL ストアド プロシージャに変更するように依頼されました。この LINQ コードを最適化するにはどうすればよいですか?なぜ遅いのですか?
var brands = (from b in entity.tblBrands
join m in entity.tblMaterials on b.BrandID equals m.BrandID
join bm in entity.tblBranchMaterials on m.MaterialID equals bm.MaterialID
join br in entity.tblBranches on bm.BranchID equals br.BranchID
where br.BranchID == branch.branchId
select new Brand { brandId=b.BrandID, brandName=b.BrandName, SAPBrandId=b.SAPBrandID}).Distinct();
return brands.ToList();