var ci = ctx.CI().Where(p => p.PId == pId);
var result = ctx.RM().Where(p => p.R.D.PId == Id && p.MTId == mt.Id).
Sum(p => (((p.M.TN * p.EC * p.F.PW * 52m) + (p.M.TN * p.EC * p.F.PY * (WW / 52m)))
/ 100m) * ci.FirstOrDefault(q => q.PId == p.R.PId.Value && q.FPId == p.R.FPId.Value).Factor);
8000 записей. Запрос занимает 2000 мс для загрузки, делая это таким образом, и 4000, используя соединение на CI и RM.
Как видите, используется 6 таблиц. CC, RM, R, D, F и M.
Модель была определена с использованием CodeFirst, поэтому я использую EF 4.1.
Как я могу ускорить мой запрос, чтобы он выполнялся быстрее, чем за 2 секунды?