Junior — Middle
Cum se poate configura nivelul de izolare al tranzacțiilor în baza de date?
sobes.tech AI
Răspuns de la AI
În C#, nivelul de izolare al tranzacțiilor poate fi configurat la crearea obiectului TransactionScope sau la utilizarea SqlTransaction.
De exemplu, cu TransactionScope, puteți specifica nivelul de izolare prin parametrul TransactionOptions:
using System.Transactions;
var options = new TransactionOptions
{
IsolationLevel = IsolationLevel.Serializable,
Timeout = TransactionManager.DefaultTimeout
};
using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
// operațiuni cu baza de date
scope.Complete();
}
La utilizarea SqlTransaction, nivelul de izolare este stabilit la începutul tranzacției:
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
try
{
// operațiuni cu baza de date
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
}
Astfel, nivelul de izolare controlează vizibilitatea modificărilor între tranzacții și influențează comportamentul blocărilor.