Junior — Middle
Kaip galima nustatyti sandorių izoliacijos lygį duomenų bazėje?
sobes.tech AI
Atsakymas iš AI
C# kalboje, transakcijų izoliacijos lygis gali būti nustatytas kuriant TransactionScope objektą arba naudojant SqlTransaction.
Pavyzdžiui, su TransactionScope, izoliacijos lygį galima nurodyti per TransactionOptions parametrą:
using System.Transactions;
var options = new TransactionOptions
{
IsolationLevel = IsolationLevel.Serializable,
Timeout = TransactionManager.DefaultTimeout
};
using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
// duomenų bazės operacijos
scope.Complete();
}
Naudojant SqlTransaction, izoliacijos lygis nustatomas pradžioje:
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
try
{
// duomenų bazės operacijos
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
}
Šiuo būdu, izoliacijos lygis kontroliuoja pakeitimų matomumą tarp transakcijų ir veikia užraktų elgesį.