Что представляет собой самый эффективный способ перейти от MediaPlanBillingDetails
в MediaPlanPrint
и рассчитать сумму суммы RoId wise? В основном MediaPlanBillingDetails является базовой таблицей.Как сделать мой linq для сущностей запрос для суммы быстрее
Текущий запрос:
var sumofallbills= MediaPlanBillingDetails.Sum(m => m.MediaPlanRO.MediaPlanROPrints.Sum(qq => qq.MediaPlanPrint.Amount));
Пример данных:
var aS = new List<MediaPlanBillingDetails>();
aS.Add(new MediaPlanBillingDetails { BillId = 1, RoID = 1 });
aS.Add(new MediaPlanBillingDetails { BillId = 1, RoID = 2 });
aS.Add(new MediaPlanBillingDetails { BillId = 2, RoID = 3 });
aS.Add(new MediaPlanBillingDetails { BillId = 2, RoID = 4 });
aS.Add(new MediaPlanBillingDetails { BillId = 3, RoID = 5 });
var bs = new List<MediaPlanRo>();
bs.Add(new MediaPlanRo { RoId = 1 });
bs.Add(new MediaPlanRo { RoId = 2 });
bs.Add(new MediaPlanRo { RoId = 3 });
bs.Add(new MediaPlanRo { RoId = 4 });
bs.Add(new MediaPlanRo { RoId = 5 });
var cs = new List<MediaPlanRoDetails>();
cs.Add(new MediaPlanRoDetails { PrintEstimateId = 1, RoId = 1 });
cs.Add(new MediaPlanRoDetails { PrintEstimateId = 2, RoId = 1 });
cs.Add(new MediaPlanRoDetails { PrintEstimateId = 3, RoId = 2 });
cs.Add(new MediaPlanRoDetails { PrintEstimateId = 4, RoId = 3 });
cs.Add(new MediaPlanRoDetails { PrintEstimateId = 5, RoId = 4 });
cs.Add(new MediaPlanRoDetails { PrintEstimateId = 6, RoId = 5 });
var ds = new List<MediaPlanPrint>();
ds.Add(new MediaPlanPrint { PrintEstimateId = 1, Amount = 1000 });
ds.Add(new MediaPlanPrint { PrintEstimateId = 2, Amount = 5000 });
ds.Add(new MediaPlanPrint { PrintEstimateId = 3, Amount = 6000 });
ds.Add(new MediaPlanPrint { PrintEstimateId = 4, Amount = 8000 });
ds.Add(new MediaPlanPrint { PrintEstimateId = 5, Amount = 9000 });
ds.Add(new MediaPlanPrint { PrintEstimateId = 6, Amount = 10000 });
Что вы подразумеваете под *, чтобы перейти от MediaPlanBillingDetails к MediaPlanPrint *? –
Означает, что я не могу перейти непосредственно из таблицы1 в таблицу4. Я должен пройти через них – maztt
Быстрее, чем * what *? Трудно сказать, не видя, как выглядит запрос. –