Junior — Middle
Come si può configurare il livello di isolamento delle transazioni nel database?
sobes.tech AI
Risposta dell'AI
In C# il livello di isolamento delle transazioni può essere configurato durante la creazione dell'oggetto TransactionScope o durante l'uso di SqlTransaction.
Ad esempio, con TransactionScope, è possibile specificare il livello di isolamento tramite il parametro TransactionOptions:
using System.Transactions;
var options = new TransactionOptions
{
IsolationLevel = IsolationLevel.Serializable,
Timeout = TransactionManager.DefaultTimeout
};
using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
// operazioni sul database
scope.Complete();
}
Quando si utilizza SqlTransaction, il livello di isolamento viene impostato all'inizio della transazione:
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
try
{
// operazioni sul database
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
}
In questo modo, il livello di isolamento controlla la visibilità delle modifiche tra le transazioni e influisce sul comportamento dei blocchi.