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
}
可能重复[System.Data.Linq.ChangeConflictException:行未找到或更改](http://stackoverflow.com/questions/805968/system-data-linq-changeconflictexception-row-not-found-or-改变) – 2014-02-03 10:07:34