Я приведу самый простой пример, который я могу придумать для ясности.
Допустим, у меня есть две сущности следующей формы:
public class Student
{
public int Id {get;set}
public string FullName {get;set;}
public virtual ICollection<Course> Courses {get;set;}
}
public class Courses
{
public int Id {get;set;}
public string FullName {get;set;}
public virtual ICollection<Student> Students {get;set;}
}
Эти две сущности отображаются в три таблицы, третья - таблица для объединений.
Когда я спрашиваю студентов, как это
var allStudents = context.Students;
, а затем просмотрите результаты, чтобы отобразить список студентов и их курсов, например:
foreach (var student in allStudents)
{
display(student.FullName);
foreach (var course in student.Courses)
{
display(course.FullName);
}
}
Я получаю запрос курса для каждого учащегося, возвращенного первым запросом.
Как мне сказать, что структура сущностей с готовностью загружает курсы в студентов всего одним запросом?