Back to questions
Junior — Middle
71
Есть ли у вас опыт использования транзакций в системах управления базами данных?
Companies where asked
Почтатех
Answer from AI
sobes.tech 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() не будет вызван, все изменения откатятся.