我正在尝试将实体框架设置为使用可选外键在删除时级联。我首先使用代码,我的模型如下所示:
public class Node
{
[Key]
public int ID { get; set; }
[ForeignKey("Parent")]
public int? ParentID { get; set; }
public virtual Node Parent { get; set; }
}
我已经看到很多解决方案建议“只需使外键成为必需的”,但这对我不起作用,因为父节点可能为空。
是否存在不涉及在父节点之前手动删除子节点的解决方案?
这是你想要的?
一对零或一关系的实体框架 (EF) 代码优先级联删除 https://stackoverflow.com/questions/17487577/entity-framework-ef-code-first-cascade-delete-for-one-to-zero-or-one-relations
从上面来看,它会是这样的(但我还没有尝试过):
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Node>()
.HasOptional(a => a.Parent)
.WithOptionalDependent()
.WillCascadeOnDelete(true);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)