.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将被删除。这将导致循环问题。