.net 级联删除一对一关系中的从属对象

.net 级联删除一对一关系中的从属对象,.net,entity-framework,.net,Entity Framework,在阅读了大量的文章和可能的解决方案之后,我对这个问题感到困惑 我有两个对象,我们称它们为A和BA是主体,B是从属的。它被建模为一对一关系,两端都是必需的 对象与多个对象有很多关系 已使用modelbuilder设置了关系: modelBuilder.Entity<A>() .HasRequired(a => a.B) .WithRequiredPrincipal(b => b.A) .WillCasc

在阅读了大量的文章和可能的解决方案之后,我对这个问题感到困惑

我有两个对象,我们称它们为
A
B
<代码>A是主体,
B
是从属的。它被建模为一对一关系,两端都是必需的

对象与多个对象有很多关系

已使用modelbuilder设置了关系:

modelBuilder.Entity<A>()
            .HasRequired(a => a.B)
            .WithRequiredPrincipal(b => b.A)
            .WillCascadeOnDelete(false);
modelBuilder.Entity()
.HasRequired(a=>a.B)
.具有所需的主体(b=>b.A)
.WillCascadeOnDelete(假);
因为
A
是主端,并且与B有一个必需的关系,所以我希望这个关系是级联的。然而,它不是:

DELETE语句与引用约束“FK_dbo.A_dbo.B_AId”冲突。冲突发生在数据库“ABC”、表“dbo.B”、列“AId”中


我必须手动删除所有依赖关系吗?我认为这不是级联删除的想法。我该怎么做才能让它工作?

你的意思是明确告诉它不要吗。删除(假);我将禁用“反向”(从属对象)的级联删除。如果我没有指定,如果我删除B,A将被删除。这将导致循环问题。