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.