Предполагая, что у нас есть следующие классы для представления базы данных:
public class Student
{
public int StudentId { get; set; }
public virtual ICollection<Course> Courses { get; set; }
public virtual ICollection<StudentCourse> StudentCourses { get; set; }
}
public class Course
{
public int CourseId { get; set; }
public virtual ICollection<Student> Students { get; set; }
public virtual ICollection<StudentCourse> StudentCourses { get; set; }
}
public class StudentCourse
{
public int StudentId { get; sst; }
public int CourseId { get; set; }
public int Flags { get; set; }
}
Как показано, в нашей базе данных есть дополнительные столбцы в таблице соединений (т. Е. StudentCourse.Flags
).
Можно ли настроить отношение «многие ко многим» (т. Е. Student.Courses
и Course.Students
), а также иметь возможность проверять сущность соединения с помощью Student.StudentCourses
и Course.StudentCourses
?
Моя текущая конфигурация позволяет только проверять сущность соединения, но я не могу получить прямой доступ ко многим ко многим.
public class StudentCourseConfiguration : EntityTypeConfiguration<StudentCourse>
{
public StudentCourseConfiguration()
{
HasKey(s => new { s.StudentId, s.CourseId });
}
}
Спасибо!