我在数据库中有两个对象(类(class)、学生)具有多对多关系(使用简单的联结表)。我已经弄清楚如何正确地将新对象添加到表中,现在我想删除一个对象。
我一直在尝试以下方法:
// (a classobj with id==1 does exist)
ClassObj cl = (from c in entities.ClassObjs where c.ClassID == 1 select c).First();
entities.ClassObjs.DeleteObject(cl);
entities.SaveChanges();
这给出了错误:
"The DELETE statement conflicted with the REFERENCE constraint \"FK_JunctionClassObjsStudents_Students\".
其中 JunctionClassObjsStudents 是联结表的名称,它在类(class)和学生表之间创建多对多关系。
我需要做什么?感谢您的帮助!!
最佳答案
一个解决方案是在 FK 上放置一个级联(或 SET NULL
),然后重新生成您的实体模型。
关于c# - 从 Entity Framework 中删除具有多对多关系的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3410020/