Вы можете использовать свойство навигации в обоих концах, чтобы манипулировать многие-ко-многим. Например,
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();
}
Update не имеет смысла для многих ко многим отношений - это, по существу Добавление и удаление комбинации.
course.Person.Add (инструктор); не работает для меня –
@MaEb, вы получаете ошибку времени компиляции или исключение во время выполнения. Или это просто код работает без ошибки, но ничего не происходит. В любом случае попробуйте опубликовать соответствующий код. – VinayC
@MaEb, пожалуйста, добавьте дополнительную информацию. –