我有以下型号:
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中启用还是有更好的方法来实现这种情况?
由于
答案 0 :(得分: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.