Entity Framework Core effacer en cascade "un à plusieurs" de la relation

public class Station : IEntitie
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    public virtual ICollection<RegulatorySchedule> RegulatoryScheduleDispatchStations { get; set; }    

    public virtual ICollection<RegulatorySchedule> RegulatoryScheduleDestinationStations { get; set; }   
}

public class RegulatorySchedule : IEntitie
{
    [Key]
    public int Id { get; set; }

    public virtual Station DispatchStation { get; set; }      

    public virtual Station DestinationStation { get; set; }     
}


protected override void OnModelCreating(ModelBuilder modelBuilder)
{
        modelBuilder.Entity<RegulatorySchedule>()
            .HasOne(s => s.DestinationStation)
            .WithMany(s => s.RegulatoryScheduleDestinationStations)
            .OnDelete(Microsoft.EntityFrameworkCore.Metadata.DeleteBehavior.Restrict);

        modelBuilder.Entity<RegulatorySchedule>()
            .HasOne(s => s.DispatchStation)
            .WithMany(s => s.RegulatoryScheduleDispatchStations)
            .OnDelete(Microsoft.EntityFrameworkCore.Metadata.DeleteBehavior.Restrict);
}

La base de données est créée lors de la migration que lorsque j'ai clairement exposer le comportement lors de la suppression de Restrict
OnDelete (Microsoft.EntityFrameworkCore.Metadata.DeleteBehavior.Restrict)
.
Sinon, il déclenche une exception:

"L'introduction de la contrainte de CLÉ ÉTRANGÈRE
'FK_RegulatorySchedules_Stations_dispatchstationid' sur la table
'RegulatorySchedules" peut provoquer de cycles ou en cascade de plusieurs chemins.
Spécifier on DELETE NO ACTION ou de la mise À JOUR, AUCUNE ACTION, ou modifier d'autres
Les contraintes de CLÉ ÉTRANGÈRE."

J'ai besoin de la suppression de la Station les Stations de la table et de la table des propriétés liées à la RegulatorySchedules DispatchStation et DestinationStation exposés à NULL.
Mais l'option de restriction d'accès il existe une exception lorsque vous supprimez un SetNull je ne peux pas mettre.
Dites-moi comment être?

OriginalL'auteur Aldmi | 2017-01-18