Sobes.tech
Junior — Middle

Ako možno nastaviť úroveň izolácie transakcií v databáze?

sobes.tech AI

Odpoveď od AI

V jazyku C# je možné nastaviť úroveň izolácie transakcií pri vytváraní objektu TransactionScope alebo pri použití SqlTransaction.

Napríklad, s TransactionScope môžete určiť úroveň izolácie pomocou parametra TransactionOptions:

using System.Transactions;

var options = new TransactionOptions
{
    IsolationLevel = IsolationLevel.Serializable,
    Timeout = TransactionManager.DefaultTimeout
};

using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
    // operácie s databázou
    scope.Complete();
}

Pri použití SqlTransaction sa úroveň izolácie nastaví na začiatku transakcie:

using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
    try
    {
        // operácie s databázou
        transaction.Commit();
    }
    catch
    {
        transaction.Rollback();
        throw;
    }
}

Týmto spôsobom úroveň izolácie kontroluje viditeľnosť zmien medzi transakciami a ovplyvňuje správanie zámkov.