EF 5代码优先,多级父级子级删除
本文关键字:删除 多级 代码 EF | 更新日期: 2023-09-27 18:12:58
我有以下模型:
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中启用,或者是否有更好的方法来实现这种情况?
谢谢
如果要在删除Parent Object
的同时删除Contact 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.