0

私は次のモデルを持っています:

public class Parent1
{
   public int Id {get;set;}
   public List<Contact> Contacts {get;set;}
}

public class Parent2
{
   public int Id {get;set;}
   public List<Contact> Contacts {get;set;}
}

public class Parent3
{
   public int Id {get;set;}
   public List<Contact> Contacts {get;set;}
}

public class Contact
{
   public int Id {get;set;}
   public Parent1 Parent1 {get;set;}
   public Parent2 Parent2 {get;set;}
   public Parent3 Parent3 {get;set;}
}

このシナリオでカスケード削除を行うことは可能ですか? Contact の 3 つの外部キーはオプションになりますか? これを EF で有効にすることは可能ですか? または、このシナリオを達成するためのより良い方法はありますか?

ありがとう

4

1 に答える 1

0

Contact Objectの削除時に削除したい場合は、関連付け側Parent Objectから設定する必要があります。Parentこのような。

modelBuilder.Entity<ParentEntity>()
    .HasMany(p => p.Contact)
    .WithRequired()
    .HasForeignKey(c => c.ParentEntityId)
    .WillCascadeOnDelete(true);// To turn it off change to false as parameter.
于 2013-05-10T15:58:30.297 に答える