Вы можете использовать свойство навигации на любом конце, чтобы управлять отношением «многие ко многим».
Например,
using (var context = new Model2())
{
int courseID = 4022;
var course = (from c in context.Courses
where c.CourseID == courseID
select c).First();
int personID = 17;
var instructor = (from p in context.Person
where p.PersonID == personID
select p).First();
course.Person.Add(instructor);
// alternatively, this will also do - instructor.Course.Add(course);
context.SaveChanges();
}
Для удаления используйте аналогичную логику - например,
using (var context = new Model2())
{
int courseID = 4022;
var course = (from c in context.Courses
where c.CourseID == courseID
select c).First();
int personID = 17;
var instructor = (from p in context.Person
where p.PersonID == personID
select p).First();
course.Person.Remove(instructor);
context.SaveChanges();
}
Обновление не имеет смысла для отношений «многие ко многим» - оно по существу добавляет и удаляет комбинацию.