Sobes.tech
Junior — Middle

Да ли имате искуства у коришћењу трансакција у системима за управљање базама података?

sobes.tech АИ

Одговор од АИ

Да, у C# за рад са транзакцијама у базама података често се користи класа TransactionScope или транзакције које пружа конкретни провајдер базе података, на пример, SqlTransaction за SQL Server.

Транзакција омогућава груписање више операција у бази података у једну целину, која или се потпуно извршава или у потпуности отказује у случају грешке, обезбеђујући интегритет података.

Пример са TransactionScope:

using (var scope = new TransactionScope())
{
    using (var connection = new SqlConnection(connectionString))
    {
        connection.Open();

        var command1 = new SqlCommand("INSERT INTO Table1 ...", connection);
        command1.ExecuteNonQuery();

        var command2 = new SqlCommand("UPDATE Table2 ...", connection);
        command2.ExecuteNonQuery();
    }

    scope.Complete(); // Потврђујемо транзакцију
}

Ако у блоку дође до изузетка и scope.Complete() не буде позван, све промене ће бити враћене.