2010-02-02 40 views
1

我浪費了一天的更好的一部分,我沒有比今天上午更接近理解這個問題。System.Data.Linq.ChangeConflictException:行未找到或更改

我正在循環一組對象並標記爲刪除對象。第二個總是導致上述例外。 tb_invoice有一個FK到tb_shipment。

與往常一樣,我可能錯過了一些非常明顯的東西,但我已經從這段代碼中剝離了很多東西,所剩無幾,而且我仍然得到這個異常。這是一個本地SQL 2008實例,當然沒有任何內容,沒有人在讀取它們和調用SubmitChanges()之間更改發票。幫幫我!

myDataContext db = new myDataContext(); 

IQueryable<invoiceDetail> pendingInvoices 
    = db.GetInvoiceDetailPending(); 

foreach (invoiceDetail id in pendingInvoices) { 
    tb_shipment s = db.GetShipmentById((Guid)id.shipment_id); 

    db.tb_invoices.DeleteOnSubmit(
      db.GetInvoiceById(s.tb_invoices.FirstOrDefault().id));  } 

    SubmitChanges(); // fails for the 2nd invoice 
} 
+0

可能重複[System.Data.Linq.ChangeConflictException:行未找到或更改](http://stackoverflow.com/questions/805968/system-data-linq-changeconflictexception-row-not-found-or-改變) – 2014-02-03 10:07:34

回答

相關問題