您可以使用导航属性在两端操纵许多一对多的关系。 例如,
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(instructor);对我来说不起作用 – 2012-03-06 10:25:16
@MaEb,你会得到编译时错误还是运行时异常。或者它只是代码运行没有错误,但没有任何反应。无论哪种情况,请尝试发布相关代码。 – VinayC 2012-03-06 11:21:22
@MaEb,请添加更多信息。 – 2015-10-07 18:46:33