У меня есть три сущности, основанные на 3 таблицах БД (количество элементов под отношениями).
Pupil - SchoolClass - ClassType
N:1 1:1
Я хочу получить список учеников и обновить их скалярное свойство Grade
.Оценка зависит от типа класса, который посещает ученик.Поэтому мне также нужен ClassType для каждого ученика.
Вот что я делаю:
var pupils = from pupil in db.Pupils.Include("SchoolClass.ClassType")
select pupil;
foreach(Pupil p in pupils)
p.Grade *= p.SchoolClass.ClassType.GradingFactor;
Проблема в том, что SchoolClass загружается в контекст со всеми скалярными свойствамизаполнено (+ идентификаторы внешнего ключа).
Есть ли способ пропустить объект между объектами Pupil и ClassType?То есть загружать только свойство навигации ClassCype SchoolClass?
Загрузка желаемого числа учеников без включения была 20 мс, а с включением - 250 мс.Мне интересно, если это можно оптимизировать?