Какая польза от явной и ленивой загрузки?
код для ленивой загрузки:
viewModel.Enrollments = viewModel.Courses.Where(x => x.CourseID == courseID).Single().Enrollments;
код для прямой загрузки:
var selectedCourse = viewModel.Courses.Where(x => x.CourseID == courseID).Single();
db.Entry(selectedCourse).Collection(x => x.Enrollments).Load();
foreach (Enrollment enrollment in selectedCourse.Enrollments) { db.Entry(enrollment).Reference(x => x.Student).Load(); //explicitly loads each Enrollment entity's related student entity } viewModel.Enrollments = selectedCourse.Enrollments; }
Что я уже пробовал:
Я ничего не пробовал. Просто спрашиваю, в чем разница между этими двумя. Спасибо
Richard Deeming
Есть более простой вариант для нетерпеливой загрузки:
var selectedCourse = viewModel.Courses.Include(x => x.Enrollments.Select(e => e.Student)).Where(x => x.CourseID == courseID).Single();
Загрузка связанных сущностей - EF6 | Microsoft Docs[^]