删除与实体框架5中的相同表引用冲突的语句

时间:2013-07-14 10:22:08

标签: entity-framework entity-framework-5

我有一个如下的对象:

public class AdminMenuItem : BaseEntity
{
    public int? ParentMenuItemId { get; set; }
    public string Name { get; set; }
    public string Url { get; set; }

    public AdminMenuItem ParentMenuItem { get; set; }
}

我添加了两个menuitem。一个是没有父菜单的A.另一个B和A是B的父菜单项。

当我删除A时,它会在下面抛出异常:

The DELETE statement conflicted with the SAME TABLE REFERENCE constraint "FK_dbo.AdminMenuItem_dbo.AdminMenuItem_ParentMenuItemId".
     

冲突发生在数据库“A61DB”,表“dbo.AdminMenuItem”中,   列'ParentMenuItemId'。       该声明已被终止

在删除父项时,我还应该执行哪些配置来删除子项?我应该通过将它放在一个循环中手动完成它还是有足够的方法在实体框架5中完成它?我尝试使用 WillCascadeOnDelete ,但我无法成功。

还有办法将子对象外键设置为null吗? (这是可选的)

1 个答案:

答案 0 :(得分:0)