Sobes.tech
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.