我有Windows Phone應用程序與表A和表B有主 - 外鍵關係。我需要從表A中刪除一個條目。我該怎麼做?Linq:刪除與主 - 外鍵關係的表項
表A包含Shape類型的對象並且具有ShapeColor字段。表B具有ShapeColor類型的對象。
當我嘗試使用DeleteOnSubmit隨後的SubmitChanges從表A中刪除形狀拋出一個異常
「{」的主鍵值無法刪除,因爲這個 鍵引用仍然存在。 [外鍵約束名稱= ShapeColor_Shape]「}
我有Windows Phone應用程序與表A和表B有主 - 外鍵關係。我需要從表A中刪除一個條目。我該怎麼做?Linq:刪除與主 - 外鍵關係的表項
表A包含Shape類型的對象並且具有ShapeColor字段。表B具有ShapeColor類型的對象。
當我嘗試使用DeleteOnSubmit隨後的SubmitChanges從表A中刪除形狀拋出一個異常
「{」的主鍵值無法刪除,因爲這個 鍵引用仍然存在。 [外鍵約束名稱= ShapeColor_Shape]「}
您可以使用:
context.DeleteOnSubmit(EntityA.ReferenceToTableB)
context.DeleteOnSubmit(EntityA)
第一刪除的關係,然後刪除實體,並提交更改數據庫
我不知道我是否理解答案。如果我在Shapes中有Shape1和Shape2表,則都在ShapeColor tabl中引用ColorRed即我想從Shapes表中只刪除Shape1並保持Shape2不變。 – user1744147
聽起來像shape2與shape1相關,在這種情況下,您必須刪除兩個實體,或將shape2的指針重新映射到shape1。在你的場景中,你只需要刪除shape1,但是你得到的錯誤表明否則。你有一個主鍵引用的東西需要指向別的東西,或外鍵實體需要刪除.... –
莫非你顯示執行刪除的代碼?必須觸發刪除父項。是否監視發出的SQL?在'tableB'之前還是之後刪除'tableA'? –