Junior — Middle
Имали ли сте опит с използването на транзакции в системи за управление на бази данни?
sobes.tech AI
Отговор от AI
Да, в 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() не бъде извикано, всички промени ще бъдат отменени.