Я создал небольшое тестовое приложение с моделями EF «Отделы > Курсы > CourseAuditors».
Вот мой запрос:
Код: Выделить всё
public void OnGet()
{
Departments = ctx.Departments.ToList();
foreach (var department in Departments)
{
department.Courses = ctx.Courses
.Where(c => c.DepartmentID == department.ID)
.ToList();
foreach (var course in department.Courses)
{
course.CourseAuditors = ctx.CourseAuditors
.Where(c => c.CourseID == course.ID)
.ToList();
}
}
}
Вот модели:
Department.cs
Код: Выделить всё
public class Department
{
public int ID { get; set; }
public string Name { get; set; }
public string DepartmentHead { get; set; }
public virtual ICollection Courses { get; set; }
}
Код: Выделить всё
public class Course
{
public int ID { get; set; }
public string Name { get; set; }
public string Instructor { get; set; }
public string Location { get; set; }
public int DepartmentID { get; set; }
public virtual ICollection CourseAuditors { get; set; }
}
Код: Выделить всё
public class CourseAuditor
{
public int ID { get; set; }
public string StudentName { get; set; }
public int CourseID { get; set; }
}
- TargetFramework=.net5.0;
- EntityFrameworkCore=5.0.6 (мы хотели бы в ближайшее время перейти на .NET 6.x).
Подробнее здесь: https://stackoverflow.com/questions/731 ... -one-query
Мобильная версия