我們擁有帶有EntityFramework映射的ASP.NET MVC2項目。 alt text http://www.freeimagehosting.net/uploads/552e05f607.jpgSQL Server「在表上刪除可能導致週期或多個級聯路徑」
如何從Structure
表級聯刪除行從Customer
表中刪除行(Customer
表中有「零個或一個 - 許多」與自己和孩子Customers
的delete一個級聯協會)?
我們擁有帶有EntityFramework映射的ASP.NET MVC2項目。 alt text http://www.freeimagehosting.net/uploads/552e05f607.jpgSQL Server「在表上刪除可能導致週期或多個級聯路徑」
如何從Structure
表級聯刪除行從Customer
表中刪除行(Customer
表中有「零個或一個 - 許多」與自己和孩子Customers
的delete一個級聯協會)?
級聯刪除是我總是遠離的東西。瞭解這是一個很酷的概念,但我還沒有看到Cascading Deletes的嚴格實施。
看了我的咆哮,請繼續閱讀..
當您執行DELETE語句,SQL Server首先確定所有必須刪除的行。它構建了必須包含的所有表的結構以及將要刪除的所有行。
任何給定的表都不能多次出現在此列表中,並且從父樹中必須有一個到子樹的單個路徑。
我認爲你遇到了這個問題,因爲你有一個自我加入客戶表。
您將不得不手動刪除子行,然後刪除父項。
FWIW,我不會放棄外鍵關係並嘗試設置觸發器(如下面的KB文章所示)。