Ho bisogno di utilizzare le transazioni con LINQ per SQL e stavo leggendo in giro per familiarizzare con esso.LINQ to SQL: è vero che SubmitChanges() avvia automaticamente una transazione?
È vero che SubmitChanges è già stato trasferito?
Ho bisogno di utilizzare le transazioni con LINQ per SQL e stavo leggendo in giro per familiarizzare con esso.LINQ to SQL: è vero che SubmitChanges() avvia automaticamente una transazione?
È vero che SubmitChanges è già stato trasferito?
Quando si chiama SubmitChanges, LINQ to SQL esamina l'insieme di oggetti noti per determinare se sono state allegate nuove istanze. Se lo hanno, queste nuove istanze vengono aggiunte all'insieme di oggetti tracciati.
Immediatamente prima della trasmissione di eventuali modifiche effettive, LINQ to SQL avvia una transazione per incapsulare la serie di singoli comandi.
Le modifiche agli oggetti vengono tradotte una per una ai comandi SQL e inviate al server.
A questo punto, qualsiasi errore rilevato dal database causa l'arresto del processo di invio e viene sollevata un'eccezione. Tutte le modifiche al database vengono annullate come se non si fossero mai verificate sottomissioni.
Per ulteriori informazioni su questa vista, il MSDN article.
Spero che questo aiuti!