Junior — Middle
Como pode configurar o nível de isolamento das transações na base de dados?
sobes.tech IA
Resposta da IA
Em C#, o nível de isolamento de transações pode ser configurado ao criar o objeto TransactionScope ou ao usar SqlTransaction.
Por exemplo, com TransactionScope, pode indicar o nível de isolamento através do parâmetro TransactionOptions:
using System.Transactions;
var options = new TransactionOptions
{
IsolationLevel = IsolationLevel.Serializable,
Timeout = TransactionManager.DefaultTimeout
};
using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
// operações com a base de dados
scope.Complete();
}
Ao usar SqlTransaction, o nível de isolamento é definido ao iniciar a transação:
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
try
{
// operações com a base de dados
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
}
Dessa forma, o nível de isolamento controla a visibilidade das alterações entre transações e influencia o comportamento dos bloqueios.