Sobes.tech
Junior — Middle

Ինչպե՞ս կարող եք կարգավորել գործարքների մեկուսացման մակարդակը տվյալների բազայում։

sobes.tech AI

Պատասխան AI-ից

C# լեզվում, գործարքների անջատման մակարդակը կարող է կարգավորվել TransactionScope օբյեկտի ստեղծման ժամանակ կամ SqlTransaction օգտագործելիս:

Օրինակ, TransactionScope-ով, անջատման մակարդակը կարող է նշվել TransactionOptions պարամետրի միջոցով:

using System.Transactions;

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

using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
    // տվյալների բազայի գործողություններ
    scope.Complete();
}

SqlTransaction-ի օգտագործման ժամանակ, անջատման մակարդակը սահմանվում է գործարքի սկզբում:

using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
    try
    {
        // տվյալների բազայի գործողություններ
        transaction.Commit();
    }
    catch
    {
        transaction.Rollback();
        throw;
    }
}

Այսպիսով, անջատման մակարդակը վերահսկում է փոփոխությունների տեսանելիությունը գործարքների միջև և ազդում է փակման վարքագծի վրա։