2011-02-08 40 views
6

嗨我目前與.sdf數據庫(服務器精簡版4.0)和sql express的工作。我試圖設置級聯刪除在同一個表(類別 - 子類別),但我得到,我不能添加關係到同一個表。級聯刪除,相同的表,實體框架4代碼優先

外鍵約束已經和 更新或刪除級聯規則,並在同 表 自我引用的列,不允許

我能做些什麼呢?

編輯
我是唯一有這個問題的人嗎?

回答

5

正如您的SQLException建議的那樣,這是SQL Server的一般限制,與EF或Code First無關。基本上,SQL Server不允許在內部關係上創建級聯操作 - 當級聯路徑從表A的列col1轉到列表col A時,也在表A中。A-> A。

事實上,Code First試圖使用Declarative Referential Integrity (DRI)來強制級聯刪除和SQL Server引發。

爲這種關係強制級聯刪除的唯一方法是使用觸發器。您可以在類別表中寫入一個刪除觸發器,刪除從屬行或將所有相應的外鍵設置爲NULL(根據您的要求)。