2010-02-02 8 views
1

J'ai perdu la meilleure partie de la journée à ce sujet et je ne suis pas plus près de comprendre le problème que ce que j'étais ce matin.System.Data.Linq.ChangeConflictException: ligne non trouvée ou modifiée

Je parcours un ensemble d'objets et je les marque pour les supprimer. Le 2ème provoque toujours l'exception ci-dessus. tb_invoice a un FK à tb_shipment.

Comme toujours, il me manque probablement quelque chose de très évident, mais j'ai déjà retiré tellement de ce code qu'il n'y a plus rien, et je reçois toujours cette exception. Ceci est une instance SQL 2008 locale et il n'y a bien sûr rien et personne ne change la facture entre la lecture et l'appel de SubmitChanges(). Aidez-moi!

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

duplication possible de [System.Data.Linq.ChangeConflictException: ligne non trouvée ou modifiée] (http://stackoverflow.com/questions/805968/system-data-linq-changeconflictexception-row-not-found-or- modifié) –

Répondre

Questions connexes