回答

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