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;
}
}
По този начин, нивото на изолация контролира видимостта на промените между транзакциите и влияе на поведението на блокировките.