EF7 RC1:禁用級聯刪除

entity-framework-core

在昨天發布的EntityFramework 7的RC1中,添加了Cascade Delete。

要根據關係禁用它,我可以使用:

      builder.Entity<Site>().HasOne(e => e.Person)
      .WithMany(x => x.Sites).Metadata.DeleteBehavior = DeleteBehavior.Restrict;

我想為DbContext全局禁用它,但我找不到方法。我能怎麼做 ?

熱門答案

有人在github項目論壇上說過,現在唯一的方法是遍歷方法OnModelCreating(ModelBuilder builder)中的所有關係,並將DeleteBehavior屬性設置為DeleteBehavior.Restrict

        foreach (var relationship in builder.Model.GetEntityTypes().SelectMany(e => e.GetForeignKeys()))
        {
            relationship.DeleteBehavior = DeleteBehavior.Restrict;
        }



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因