2016-11-03 7 views
0

hier sind zwei Entitäten meines Modells mit fließend EntityFramework Konfiguration davonEntity Framework Kaskade löschen Konfiguration

Player.cs

public class Player 
{ 
    public string Name { get; set; } 
    public virtual Statistics Statistics { get; set; } 

} 

Statistics.cs

public class Statistics 
    { 
     public int GamePlayed { get; set; } 
     public int Assists { get; set; } 
     public int Goals { get; set; } 
    } 

DbContextClass

Am Ende wird ein Fremdschlüssel namens "StatisticsId" auf meiner Player-Tabelle erstellt, was in Ordnung ist. Ich möchte beim Löschen eines Players die zugehörigen Statistiken kaskadieren. Hier ist mein Problem, das Hinzufügen WillCascadeDelete zu meiner Aussage als

modelBuilder.Entity<Player>() 
       .HasOptional(x => x.Statistics) 
       .WithMany() 
       .Map(x => x.MapKey("StatisticsId")) 
       .WillCascadeOnDelete(true); 

Ergebnisse als das Löschen der Spieler, wenn die Statistik gelöscht. Wie kann ich das Gegenteil bewirken, indem ich StatisticsId foreignKey auf der Player-Tabelle belasse?

Der Hauptpunkt hier ist, dass Statistics "alleine leben" kann ohne Player verwandt. Ist es möglich, Entity Framework so einzustellen, dass es automatisch gelöscht wird Statistics oder muss das manuell gemacht werden?

Antwort

-1

ich Sie einfach davon ausgehen müssen hinzufügen WillCascadeOnDelete zu Statistics:

modelBuilder.Entity<Statistics>() 
      .WillCascadeOnDelete(true); 

Ich habe allerdings nicht getestet.

Verwandte Themen