2010-01-13 42 views
12

的當前狀態期間,我收到了以下錯誤的更新命令:LinqToSQL錯誤:操作無效由於對象

Operation is not valid due to the current state of the object

我試圖從更新命令刪除一列,它工作正常。 這個列是一個FK,與其他FK類似,工作正常。

這是執行更新的代碼:

   ti.NumeroTitolo = titolo.Numero; 
       ti.RKTipoTitoloGenereTitolo = titolo.RkTipoTitoloGenereTitolo; 
       ti.RKBanca = titolo.RkBanca; 
       ti.DataScadenza = titolo.DataScadenza; 
       ti.RKTipoEsito = titolo.RkTipoEsito; 
       ti.ImportoTitolo = titolo.ImportoTitolo; 

       _dc.SubmitChanges(); 
+1

如果包含L2S更新語句,這將是一個很大的幫助。 –

回答

0

的問題可能是由關係或者其它約束引起的。例如,如果您試圖刪除某個Id的行被其他具有關係的表引用。也許如果您發佈了提供錯誤的SQL或LINQ查詢,我們可以爲您提供更多幫助。

+0

我已經添加了代碼 –

5

Grenade的答案實際上幫了我的忙,因爲我試圖重新分配外鍵時遇到了這個異常。關係/約束阻止了密鑰被重新分配。

但是,我能夠直接訪問關係項目並重新分配它,從而重新分配外鍵。

product.manufacturer_id = manufacturerID; //This caused the above exception 

product.Manufacturer = new Manufacturer(manufacturerID); 
//or 
product.Manufacturer = OtherManufacturer; 
相關問題