Sobes.tech
Junior — Middle

Comment peut-on configurer le niveau d'isolation des transactions dans la base de données?

sobes.tech IA

Réponse de l'IA

En C#, le niveau d'isolation des transactions peut être configuré lors de la création de l'objet TransactionScope ou lors de l'utilisation de SqlTransaction.

Par exemple, avec TransactionScope, vous pouvez spécifier le niveau d'isolation via le paramètre TransactionOptions :

using System.Transactions;

var options = new TransactionOptions
{
    IsolationLevel = IsolationLevel.Serializable,
    Timeout = TransactionManager.DefaultTimeout
};

using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
    // opérations avec la base de données
    scope.Complete();
}

Lors de l'utilisation de SqlTransaction, le niveau d'isolation est défini au début de la transaction :

using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
    try
    {
        // opérations avec la base de données
        transaction.Commit();
    }
    catch
    {
        transaction.Rollback();
        throw;
    }
}

Ainsi, le niveau d'isolation contrôle la visibilité des modifications entre transactions et influence le comportement des verrouillages.