Sobes.tech
Junior — Middle

Verilənlər bazasında tranzaksiyaların izolasiya səviyyəsini necə tənzimləmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

C# dilində, tranzaksiya səviyyəsi TransactionScope obyektinin yaradılması zamanı və ya SqlTransaction istifadə edilərkən tənzimlənə bilər.

Məsələn, TransactionScope ilə izolasiya səviyyəsini TransactionOptions parametri vasitəsilə göstərə bilərsiniz:

using System.Transactions;

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

using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
    // verilənlər bazası əməliyyatları
    scope.Complete();
}

SqlTransaction istifadə edərkən, izolasiya səviyyəsi tranzaksiya başlanğıcında təyin edilir:

using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
    try
    {
        // verilənlər bazası əməliyyatları
        transaction.Commit();
    }
    catch
    {
        transaction.Rollback();
        throw;
    }
}

Bu şəkildə, izolasiya səviyyəsi tranzaksiyalar arasında dəyişikliklərin görünürlüğünü idarə edir və kilidləmə davranışına təsir göstərir.