2010-10-14 67 views
0

我想刪除一個有時具有多對多關係的對象。我現在使用的代碼是:刪除對象及其多對多關係

db.DeleteObject(registeredDevice); 
db.SaveChanges(); 

這當然只是刪除registeredDevice。但通常這個設備與數據庫中的項目有多對多的關係。當在這種情況下嘗試刪除設備時,它會給出錯誤。

DELETE語句衝突與基準約束

我需要做的就是刪除該設備及其關係(在許多一對多表中的條目,而不是項目它關係到) 。如何在LINQ中執行此操作?

+0

看到這個職位.... 它包含經過驗證的答案。 – 2012-08-29 09:33:22

回答

0

要刪除所有內容,您需要確保所有數據都已加載。基本上,linq to sql必須先了解它正在刪除的數據,才能對如何刪除它做出最佳判斷。

Hoep,幫助

+0

是的你是對的。但我的問題還沒有解決。現在做的是嘗試並將ProjectDevice表中的deviceId重置爲空。我需要徹底刪除記錄。所以這將是主鍵和2個外鍵(DeviceId和ProjectId)。在你的建議後添加此代碼btw:registeredDevice.ProjectDevice.Load(); – Prd 2010-10-14 13:25:22