2010-10-18 61 views
1

我有一個自引用實體(0到*)。 當我試圖刪除一個,得到一個錯誤。LINQ to Entity問題。自引用實體

數據的結構是:

servise1
--service 1.1
--service 1.2
---服務1.2.1
---服務1.2.2
---服務1.2.3
--service 1.3
--service 1.4
服務2

等等......

我只需要刪除一個帶有所有子服務(級聯)的服務。

請幫幫我! )

+1

你「有錯誤」?請發佈錯誤。我們不是心理學家。 – 2010-10-18 14:17:21

+1

解決這個問題的簡單方法是在自引用外鍵上添加「on delete cascade」。 – 2010-10-18 14:17:50

+0

嘗試添加級聯時出現此錯誤:表'類別'上的FK_categorycategory可能會導致循環或多個級聯路徑。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY約束。 – FetalDump 2010-10-18 14:50:22

回答

0

如果添加上刪除級聯到SQL表定義嘗試改變回上刪除不採取行動,然後去你的實體模型,選擇設計師協會,並設置在屬性窗口中刪除級聯。

如果仍然不起作用,那麼您可以在調用savechanges之前始終遍歷所有子服務並刪除它們。

+0

只是想提一下:在實體模型中設置級聯刪除不涉及數據庫,只有內存中的對象纔會被刪除,所以如果模型已經執行了級聯,模型將與數據庫「同步」。但下次您加載表格時,刪除的參考文獻將會再次回來。 – 2012-06-15 11:42:32