EF7 RC1: disabilita l'eliminazione a cascata

entity-framework-core

Domanda

Nella RC1 di EntityFramework 7, rilasciata ieri, è stato aggiunto Elimina Cascade.

Per disabilitarlo per relazione, posso usare:

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

Voglio disabilitarlo globalmente per un DbContext, ma non ho trovato un modo. Come posso fare ?

Risposta popolare

Qualcuno ha affermato sul forum del progetto github che l'unico modo per farlo in questo momento è per scorrere tutte le relazioni nel metodo OnModelCreating(ModelBuilder builder) , e impostare la DeleteBehavior proprietà DeleteBehavior.Restrict :

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


Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché