Sobes.tech
Junior — Middle

Tem experiência no uso de transações em sistemas de gestão de bases de dados?

sobes.tech IA

Resposta da IA

Sim, em C# para trabalhar com transações em bases de dados, costuma-se usar a classe TransactionScope ou as transações fornecidas pelo provedor de base de dados específico, por exemplo, SqlTransaction para SQL Server.

A transação permite agrupar várias operações na base de dados em um único conjunto, que é executado completamente ou revertido em caso de erro, garantindo a integridade dos dados.

Exemplo usando 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(); // Confirmar a transação
}

Se ocorrer uma exceção no bloco e scope.Complete() não for chamado, todas as alterações serão revertidas.