Saya sarankan menggunakan TransactionScope , karena Anda dapat menggunakannya apa pun DB yang Anda gunakan. Anda bahkan dapat melakukan transaksi terdistribusi (operasi terhadap beberapa database dalam transaksi yang sama) dengannya.
Anda dapat merujuk ke tautan untuk contoh kode, tetapi secara umum, Anda melakukan ini:
try
{
using (TransactionScope scope = new TransactionScope())
{
using (MySqlConnection connection1 = new MySqlConnection (connectionString))
{
// Opening the connection automatically enlists it in the
// TransactionScope as a lightweight transaction.
connection1.Open();
// create the DB commands and perform the DB operations
.
.
.
// The Complete method commits the transaction. If an exception has been thrown,
// Complete is not called and the transaction is rolled back.
scope.Complete();
}
}
}
catch (Exception e)
{
// something went wrong, handle the exception accordingly. Note
// that since we did not call TransactionScope.Complete, nothing
// gets committed to the DB.
}