EF7 RC1: Deshabilitar la eliminación en cascada

entity-framework-core

Pregunta

En el RC1 de EntityFramework 7, lanzado ayer, se agregó Cascade Delete.

Para desactivarlo por relación, puedo usar:

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

Quiero deshabilitarlo globalmente para un DbContext, pero no encontré la manera. Como lo puedo hacer ?

Respuesta popular

Alguien aparece en el foro del proyecto github que la única manera de hacerlo es en este momento para recorrer todas las relaciones en el método OnModelCreating(ModelBuilder builder) , y establecer el DeleteBehavior propiedad a DeleteBehavior.Restrict :

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



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué