Entity framework SQL Server“;表上的删除可能导致循环或多个级联路径;

Entity framework SQL Server“;表上的删除可能导致循环或多个级联路径;,entity-framework,sql-server-2008,Entity Framework,Sql Server 2008,我们有一个带有EntityFramework映射的ASP.NET MVC2项目 如何从Structure表中删除行,并从Customer表中级联删除行(Customer表本身具有“零或一-多”关联,并且级联删除子Customers)?级联删除是我一直回避的问题。这是一个很酷的概念,但我还没有看到级联删除的真正实现 看完我的咆哮,继续读下去 执行delete语句时,SQL Server首先标识必须删除的所有行。它构建了必须包含的所有表以及将被删除的所有行的结构 任何给定的表在此列表中不能出现多次,

我们有一个带有EntityFramework映射的ASP.NET MVC2项目


如何从
Structure
表中删除行,并从
Customer
表中级联删除行(
Customer
表本身具有“零或一-多”关联,并且级联删除子
Customers
)?

级联删除是我一直回避的问题。这是一个很酷的概念,但我还没有看到级联删除的真正实现

看完我的咆哮,继续读下去

执行delete语句时,SQL Server首先标识必须删除的所有行。它构建了必须包含的所有表以及将被删除的所有行的结构

任何给定的表在此列表中不能出现多次,并且必须有一条从父树到子树的路径

我认为您遇到这个问题是因为您在Customer表上有一个self-join

您必须手动删除子行,然后删除父行

FWIW,我不会放弃外键关系并尝试设置触发器(如下面的KB文章所建议的)