我们有带有EntityFramework映射的ASP.NET MVC2项目。alt text http://www.freeimagehosting.net/uploads/552e05f607.jpg
如何使用Structure
表中的级联删除行从Customer
表中删除行(Customer
表具有“零或一 - 多”与其自身的关联以及级联删除子项{{ 1}})?
答案 0 :(得分:1)
Cascading Deletes是我一直远离的东西。这是一个很酷的概念,但我还没有看到严重的Cascading Deletes实现。
阅读了我的咆哮,请继续阅读..
执行delete语句时,SQL Server首先标识所有必须删除的行。它构建了必须包含的所有表的结构,以及将被删除的所有行。
任何给定的表都不能多次出现在此列表中,并且必须有一个父树的子树路径。
我认为您遇到此问题是因为您在Customer表上有自联接。
您必须手动删除子行,然后删除父行。
FWIW,我不会放弃外键关系并尝试设置触发器(如下面的KB文章所示)。