2016-11-03 5 views
0

はそれの流暢entityframework構成Entity Frameworkのカスケードここ

と私のモデルの2つのエンティティ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

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

最終的に、 'StatisticsId'という名前のforeignKeyは、Playerテーブルのcreateです。これは正常です。私は、プレイヤーの削除、cascadeDelete関連の統計にしたい。私の声明にWillCascadeDeleteを追加しました。

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

結果は統計情報が削除されたときにプレイヤーを削除するという結果になりました。どのようにして、この作業を逆の方法で行うことができますか?StatisticsId foreignKeyをプレーヤーテーブルに保存しますか?

ここでのポイントは、Statisticsは「」なしで「単独で」生きることができるということです。 Entity Frameworkを関連する自動削除のStatisticsに設定することは可能ですか?これは手動で行う必要がありますか?

答えて

-1

私はあなただけStatisticsWillCascadeOnDeleteを追加する必要があると仮定します。

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

私もテストしていません。

関連する問題