使用Entity Framework删除多对多关系

aby*_*aby 1 c# many-to-many entity-framework entity-framework-4.1

我有三个表学生(studID,fullName,性别......),注册(studID,courseID,日期)和课程(courseID,courseName,...).我使用下面的代码删除了包含studID 001的Enroll表中的所有记录,其中有大约三个学生签名的课程.但是,它只删除一条记录.

using(var context = new DBEntities())
{    
var _stud = (from s in context.Students where s.studID == "001" select s).FirstOrDefault();
                var _course = _stud.Courses.FirstOrDefault();
                _course.Students.Remove(_stud);
context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

我在这里想念什么?

aby*_*aby 5

谢谢你们的协助.这是我解决它的方式:

using (var context = new DBEntities())
{
    var student = (from s in context.Students where s.studID == "001" select s).FirstOrDefault<Student>();               
    foreach (Course c in student.Courses.ToList())
    {
        student.Courses.Remove(c);
    }
    context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)