WillCascadeOnDelete(true)这段关系的哪一部分?

时间:2014-06-05 19:20:21

标签: c# entity-framework ef-code-first

这就是我今天所拥有的:

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

如果用户被删除,我希望删除相关的DealDevice行,这样我就可以删除用户并让所有相关内容消失。

我可以将WillCascadeOnDelete(false)更改为WillCascadeOnDelete(true),还是会在删除交易时删除用户?

1 个答案:

答案 0 :(得分:12)

您是对的:要将User中的删除级联到DealDevice,请使用WillCascadeOnDelete(true)。如果User被删除,则不会删除DealDevice,只是相反。

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

注意:如果您想要删除级联,则不必将参数指定为WillCascadeOnDelete(),因为overload隐式将其设置为true