Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 插入、删除、更新(多对多关系)_C#_Entity Framework_Entity Framework 4_Ado.net_Ef Code First - Fatal编程技术网

C# 插入、删除、更新(多对多关系)

C# 插入、删除、更新(多对多关系),c#,entity-framework,entity-framework-4,ado.net,ef-code-first,C#,Entity Framework,Entity Framework 4,Ado.net,Ef Code First,在中描述了关于多对多数据关系的关系 现在如何在CourseInstructo上执行插入、删除和更新 对于一对一的关系,我这样做: var context= new Modle2(); var course= new Course() {title="math",...}; context.Course.addObject(course); context.SaveChanges() 您可以在任意一端使用导航属性来操纵多对多关系。 比如说, using (var context = new M

在中描述了关于多对多数据关系的关系

现在如何在
CourseInstructo
上执行插入、删除和更新

对于一对一的关系,我这样做:

var  context= new Modle2();
var course= new Course() {title="math",...};
context.Course.addObject(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.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();
}
要删除,请使用类似的逻辑-例如

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();
}

更新对多对多关系没有意义-它本质上是添加和删除组合。

@MaEb,您是否遇到编译时错误或运行时异常。或者只是代码运行时没有错误,但什么也没有发生。在这两种情况下,请尝试发布相关代码。