回答

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(instructor);對我來說不起作用 – 2012-03-06 10:25:16

+0

@MaEb,你會得到編譯時錯誤還是運行時異常。或者它只是代碼運行沒有錯誤,但沒有任何反應。無論哪種情況,請嘗試發佈相關代碼。 – VinayC 2012-03-06 11:21:22

+0

@MaEb,請添加更多信息。 – 2015-10-07 18:46:33