【问题标题】:Delete Statement Conflicted With Same Table Reference in Entity Framework 5删除与实体框架 5 中的相同表引用冲突的语句
【发布时间】:2013-07-14 10:22:08
【问题描述】:

我有一个像下面这样的对象:

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

    public AdminMenuItem ParentMenuItem { get; set; }
}

我添加了两个菜单项。一个是没有父菜单的 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 ? (这是可选的)

【问题讨论】:

    标签: entity-framework entity-framework-5


    【解决方案1】:

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多