Junior — Middle
Kā var iestatīt transakciju izolācijas līmeni datu bāzē?
sobes.tech AI
Atbilde no AI
C# valodā, transakciju izolācijas līmenis var tikt konfigurēts, izveidojot TransactionScope objektu vai izmantojot SqlTransaction.
Piemēram, ar TransactionScope var norādīt izolācijas līmeni, izmantojot TransactionOptions parametru:
using System.Transactions;
var options = new TransactionOptions
{
IsolationLevel = IsolationLevel.Serializable,
Timeout = TransactionManager.DefaultTimeout
};
using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
// datu bāzes operācijas
scope.Complete();
}
Izmantojot SqlTransaction, izolācijas līmenis tiek iestatīts transakcijas sākumā:
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
try
{
// datu bāzes operācijas
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
}
Šādā veidā, izolācijas līmenis kontrolē izmaiņu redzamību starp transakcijām un ietekmē bloķēšanas uzvedību.