Препоръчвам да използвате TransactionScope , защото можете да го използвате без значение каква база данни използвате. Можете дори да извършвате разпределени транзакции (операции срещу множество бази данни в рамките на една и съща транзакция) с него.
Можете да се обърнете към връзка за примерен код, но като цяло правите следното:
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.
}