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.