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() не буде позван, све промене ће бити враћене.