2

我在 M:N 关系中有 AEntity 和 BEntity。

在数据库中,我有 ATable、BTable、ABRelationTable。

ABRelationTable 构建如下

Id                      Guid
ATableId                Guid
BTableId                Guid
AdditionalAttribute1    String
AdditionalAttribute2    String

然后我删除 EntityFramework 中的 AEntityInstance 并
引发异常,然后它违反了 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.

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

4

2 回答 2

1

关系是否在 SQL 数据库表中删除时级联?如果是这样,您可以在 EF 中执行此操作,它将得到处理。请参阅... 实体框架 - 按 id 删除相关记录

于 2012-12-04T09:15:59.003 回答
1

您必须从 中删除关联BA

foreach(var b in a.Bs.ToList())
{
    a.Bs.Remove(b);
}

a.Bs或加载Clear()它。

关键是B必须首先加载 ',然后以一种或另一种方式删除,以便更改管理器知道关联已被切断。

于 2012-12-04T08:08:03.527 回答