Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.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# 实体框架-从M:n关系中删除M行_C#_Entity Framework_Entity Framework 4_Entity Relationship - Fatal编程技术网

C# 实体框架-从M:n关系中删除M行

C# 实体框架-从M:n关系中删除M行,c#,entity-framework,entity-framework-4,entity-relationship,C#,Entity Framework,Entity Framework 4,Entity Relationship,在M:N关系中,我有永恒和本蒂 在达巴巴斯我有 阿塔布尔, B表格, 相关表格 ABRelationTable的构建如下所示 Id Guid ATableId Guid BTableId Guid AdditionalAttribute1 String AdditionalAttribute2 String 然后在EntityFramework中删除AEEntityInstance

在M:N关系中,我有永恒和本蒂

在达巴巴斯我有 阿塔布尔, B表格, 相关表格

ABRelationTable的构建如下所示

Id                      Guid
ATableId                Guid
BTableId                Guid
AdditionalAttribute1    String
AdditionalAttribute2    String
然后在EntityFramework中删除AEEntityInstance并
它抛出一个异常,然后违反ABRelationTable中的FK

详情如下:

The DELETE statement conflicted with the REFERENCE constraint "FK_AB_A". 
The conflict occurred in database "X", table "ABRelationTable", column 
'Id'.The statement has been terminated.

如何删除关系表中的相应行

您必须从
A
中删除关联的
B

foreach(var b in a.Bs.ToList())
{
    a.Bs.Remove(b);
}
或者加载
a.Bs
Clear()


关键是必须先加载
B
,然后以某种方式删除,变更管理器才能知道关联已被删除。

关系是否已在SQL数据库表中级联删除?如果是这样,您可以在EF中执行此操作,它将得到处理。 看见