Wie benutze ich eine Transaktion in LINQ to SQL mit stored procedures?

Ich habe ein Stück code, das sieht ungefähr so aus (ClearImportTable und InsertPage sind gespeicherte Prozeduren):

datacontext.ClearImportTable() //Essentially a DELETE FROM table
for (int i = 1; i < MAX_PAGES; ++i){
    datacontext.InsertPage(i); //Inserts data into the table
}

Dies ist eine etwas vereinfachte version von meinem code, aber die Idee ist, dass es löscht die Tabelle vor dem einfügen von Datensätzen. Das problem ist nur, dass wenn ein Fehler Auftritt, nachdem ClearImportTable, alle Daten aus der Tabelle gelöscht wird. Gibt es eine Möglichkeit, wickeln Sie diese in einer Transaktion, so dass, wenn es irgendwelche Fehler, alles wird wieder so, wie es war?

InformationsquelleAutor Jason Baker | 2009-06-02
Schreibe einen Kommentar