private static void TestTransaction() { using (SqlConnection connection = SqlConnectionFactory.CreateDbContext()) { connection.Open(); SqlTransaction transaction = connection.BeginTransaction(); SqlCommand command = connection.CreateCommand(); command.Transaction = transaction; try { // выполняем две отдельные команды command.CommandText = "INSERT INTO Users (Name, Age) VALUES('Tim', 34)"; command.ExecuteNonQuery(); command.CommandText = "INSERT INTO Users (Name, Age) VALUES('Kat', 31)"; command.ExecuteNonQuery(); // ошибка command.CommandText = "INSERT INTO Users (Id, Name, Age) VALUES(1,'Kat', 31)"; command.ExecuteNonQuery(); // подтверждаем транзакцию transaction.Commit(); Console.WriteLine("Данные добавлены в базу данных"); } catch (Exception ex) { Console.WriteLine(ex.Message); // если ошибка, откатываем назад все изменения transaction.Rollback(); } } }