Как получить данные из отношений «многие ко многим», построенных с помощью Entity Framework Core? - PullRequest
0 голосов
/ 02 мая 2020

Я установил связь «многие ко многим» из этого урока

public class Student
{
    public int StudentId { get; set; }
    public string Name { get; set; }

    public IList<StudentCourse> StudentCourses { get; set; }
}

public class Course
{
    public int CourseId { get; set; }
    public string CourseName { get; set; }
    public string Description { get; set; }

    public IList<StudentCourse> StudentCourses { get; set; }
}

public class StudentCourse
{
    public int StudentId { get; set; }
    public Student Student { get; set; }

    public int CourseId { get; set; }
    public Course Course { get; set; }
}

Как я могу получить список курсов по StudentID?

Как его преобразовать в IQueryable<Student> (нужно для asp. net)?

Спасибо.

1 Ответ

2 голосов
/ 02 мая 2020

Если все, что вы хотите сделать, это пройти все курсы, которые посещает студент, есть несколько способов go об этом. Я предполагаю, что у вас есть запись DbSet<StudentCourse> StudentCourses в контексте вашей базы данных. Вы можете просто позвонить context.StudentCourses.Include(x => x.Student).Where(entry => entry.CourseId == theIdYouWant).Select(entry => entry.Student).

Обратите внимание на .Include(), который говорит Entity Framework, что «соедините» таблицу ученика с таблицей StudentCourse, чтобы вы получили реальные сущности студента, а не только идентификаторы (если вы оставив включенным, очень вероятно, что свойство студента будет просто установлено на ноль)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...