此关系的哪一部分将cascadeondelete (true)

本文关键字:cascadeondelete true 一部分 关系 | 更新日期: 2023-09-27 18:06:51

这是我今天的礼物:

modelBuilder.Entity<User>()
    .HasOptional(p => p.DealDevice)
    .WithRequired(c => c.User)
    .WillCascadeOnDelete(false);

我想要的是,如果用户被删除,相关的DealDevice行被删除,这样我就可以删除用户,并使所有相关的都消失。

我可以将WillCascadeOnDelete(false)更改为WillCascadeOnDelete(true)吗?或者如果交易被删除,会删除用户吗?

此关系的哪一部分将cascadeondelete (true)

你是正确的:从User级联删除到DealDevice只使用WillCascadeOnDelete(true)。如果删除了DealDevice,则不会删除User,而是相反。

modelBuilder.Entity<User>()
    .HasOptional(p => p.DealDevice)
    .WithRequired(c => c.User)
    .WillCascadeOnDelete();

注意:如果你想级联删除,你不必指定参数为WillCascadeOnDelete(),因为有一个重载隐式地将其设置为true