2016-06-12 72 views
1

我正在創建WCF REST風格的服務,當我嘗試通過實體框架添加記錄到我的數據庫我得到這個異常:商店更新,插入或刪除語句影響行的意外>數(0)

存儲更新,插入或刪除語句影響意外 行數(0)。自從裝載了實體 以來,實體可能已被修改或刪除。

我有我的數據庫中創建一個觸發器,它的工作原理爲:

GO 
CREATE TRIGGER [dbo].[Trigger_groupLocation_date] 
    ON [dbo].[groupLocation] 
    INSTEAD OF INSERT 
    AS 
    BEGIN 
     SET NoCount ON 
     DECLARE @s int 
     DECLARE @g_id int 
     DECLARE @lat float 
     DECLARE @lon float 
     SELECT @s = sender FROM inserted 
     SELECT @g_id = g_id FROM inserted 
     SELECT @lat = latitude FROM inserted 
     SELECT @lon = longitude FROM inserted 

     insert into [groupLocation] (sender,g_id,latitude,longitude) values(@s,@g_id,@lat,@lon) 
    END 

有一點要注意的是,我能夠直接添加記錄到數據庫中。我從here讀了一些關於例外的細節,經過一番研究,我在stackoverflow上發現了一個similar問題。但是,當我嘗試讀取的DbContext沒有刷新()方法,取而代之的是解決方案,我試過:

var ctx = ((IObjectContextAdapter)db).ObjectContext; 
ctx.Refresh(); 

但我仍然得到同樣的異常。然後,我讀here,只有當你使用代碼第一的方法,然後這個工作可以工作,我使用「EF設計師從數據庫的方法」。如何在數據優先方法中訪問Refresh方法?

+0

了一段時間,你可以發表評論扳機,然後嘗試現在拋出,有什麼異常。因爲EF可能不允許同時進行其他更改 –

+0

如果我註釋掉觸發器,則服務運行順利,並且不會拋出異常。 –

回答

相關問題