我正在使用實體框架掛鉤到舊的遺留數據庫的WPF系統上。我們在調試時掛接到實時數據的備份,並在空數據庫上運行測試。僅當嘗試從實時數據的備份中刪除時,我收到以下錯誤。Linq到實體/實體框架刪除異常
此代碼:
License license = ReadLicense(id);
entities.DeleteObject(license);
entities.SaveChanges();
產生此SQL:
exec sp_executesql N'delete [dbo].[Product]
where ((([Group_ID] = @0) and ([Parent_ID] = @1)) and ([Prod_ID] = @2))',N'@0 nvarchar(32),@1 nvarchar(32),@2 nvarchar(32)',@0=N'someIdValue1',@1=N'someIdValue2',@2=N'someIdValue3'
這又產生這樣的錯誤:
消息208,級別16,狀態1,過程TrackDeletedProduct,4號線。 無效的對象名稱'DeletedRecords.dbo.Product_Deleted'。
如果將生成的SQL更改爲「select」查詢,則返回一行,所以'ReadLicense'返回一個有效的實體。我無法真正理解爲什麼這不起作用,尤其是當它僅針對實時數據時。 「許可」實體是從基礎「產品」實體繼承的兩個實體之一。
乾杯。
非常感謝你的男人,沒想到表觸發器。僅供參考,數據庫的空白版本是從備份的創建腳本的減少版本創建的,我發現自從向您的同事表明您是解決方案後,我發現了這一點。所以觸發器根本不在那裏。 Rekon我應該編輯標籤?可以幫助其他人... – andrej351 2009-08-17 05:29:40
很高興我能幫上忙 - 我會讓標籤保持原樣 - 沒問題。 – 2009-08-17 05:37:52