Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Gibt es eine automatische Möglichkeit, beim Einfügen von Daten mit LINQ2SQL ein Rollback-Skript zu generieren?

Dies ist eigentlich ganz einfach, da Sie eine SqlConnection übergeben können in den LINQ to SQL DataContext am Bau. Führen Sie diese Verbindung einfach in einer Transaktion aus und setzen Sie diese Transaktion zurück, sobald Sie fertig sind.

Hier ist ein Beispiel:

string output;

using (var connection = new SqlConnection("your conn.string"))
{
    connection.Open();
    using (var transaction = connection.StartTransaction())
    {
        using (var context = new YourDataContext(connection))
        {
            // This next line is needed in .NET 3.5.
            context.Transaction = transaction;

            var writer = new StringWriter();
            context.Log = writer;

            // *** Do your stuff here ***

            context.SubmitChanges();

            output = writer.ToString();
        }

        transaction.Rollback();
    }
}