Junior — Middle
Jak lze nastavit úroveň izolace transakcí v databázi?
sobes.tech AI
Odpověď od AI
V jazyce C# lze úroveň izolace transakcí nakonfigurovat při vytváření objektu TransactionScope nebo při použití SqlTransaction.
Například u TransactionScope lze úroveň izolace určit pomocí parametru TransactionOptions:
using System.Transactions;
var options = new TransactionOptions
{
IsolationLevel = IsolationLevel.Serializable,
Timeout = TransactionManager.DefaultTimeout
};
using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
// operace s databází
scope.Complete();
}
Při použití SqlTransaction je úroveň izolace nastavena na začátku transakce:
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
try
{
// operace s databází
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
}
Tímto způsobem řídí úroveň izolace viditelnost změn mezi transakcemi a ovlivňuje chování zámků.