오늘의 더 좋은 부분을 낭비했고 오늘 아침보다 문제를 더 잘 이해하지 못했습니다.System.Data.Linq.ChangeConflictException : 행을 찾지 못했거나 변경했습니다.
개체 집합을 반복하고 삭제 표시합니다. 두 번째 것은 항상 위의 예외를 발생시킵니다. tb_invoice에는 tb_shipment에 FK가 있습니다.
언제나처럼, 나는 아주 명백한 것이 빠졌을 것입니다. 그러나이 코드에서 이미 아무것도 남기지 않았으므로이 예외를 아직도 얻고 있습니다. 이 인스턴스는 로컬 SQL 2008 인스턴스이며, Invoice를 읽고 SubmitChanges()를 호출하는 사이에는 아무 것도 변경되지 않습니다. 도움! SQL 서버에서 외부 키에 대한 삭제 작업을 설정
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- 변경됨) –