-2

в http://msdn.microsoft.com/en-us/library/dd742359.aspx описано о взаимоотношениях данных «многие-ко-многим».Вставить, удалить, обновить (отношение много-ко-многим)

сейчас как можно выполнить вставку, удаление, обновление на CourseInstructo?

для одного к человеку отношение Таким образом, я делаю:

var context= new Modle2(); 
var course= new Course() {title="math",...}; 
context.Course.addObject(course); 
context.SaveChanges() 

ответ

0

Вы можете использовать свойство навигации в обоих концах, чтобы манипулировать многие-ко-многим. Например,

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 не имеет смысла для многих ко многим отношений - это, по существу Добавление и удаление комбинации.

+0

course.Person.Add (инструктор); не работает для меня –

+0

@MaEb, вы получаете ошибку времени компиляции или исключение во время выполнения. Или это просто код работает без ошибки, но ничего не происходит. В любом случае попробуйте опубликовать соответствующий код. – VinayC

+0

@MaEb, пожалуйста, добавьте дополнительную информацию. –

Смежные вопросы