多对多更新关系MVC 4

时间:2014-06-06 02:18:01

标签: c# entity-framework-5

我正在尝试更新多对多关系之间的关系。

我有这个配置:

this.HasMany(student => student.Courses)
            .WithMany(course => course.Students)
            .Map(mc =>
            {
                mc.ToTable("T_Student_Course");
                mc.MapLeftKey("StudentId");
                mc.MapRightKey("CourseId");
            });

我有一个MultiSelectList,我选择要添加到学生的课程,并在Action的代码中我有这个:

student.Courses = new List<Course>();

foreach (var courseId in SelectedCourses)
{
    Course course = _db.Courses.FirstOrDefault(c => c.Id == courseId);

    student.Courses.Add(course);
}

_db.SaveEntity(student);

这不会删除已取消选择的课程。它将它们留在映射表中。如何删除Course_1和Course_2并添加新的Course_3?或者,删除Course_1并退出之前选择的Course_2

0 个答案:

没有答案