Junior — Middle
Ako možno nastaviť úroveň izolácie transakcií v databáze?
sobes.tech AI
Odpoveď od AI
V jazyku C# je možné nastaviť úroveň izolácie transakcií pri vytváraní objektu TransactionScope alebo pri použití SqlTransaction.
Napríklad, s TransactionScope môžete určiť úroveň izolácie pomocou parametra TransactionOptions:
using System.Transactions;
var options = new TransactionOptions
{
IsolationLevel = IsolationLevel.Serializable,
Timeout = TransactionManager.DefaultTimeout
};
using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
// operácie s databázou
scope.Complete();
}
Pri použití SqlTransaction sa úroveň izolácie nastaví na začiatku transakcie:
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
try
{
// operácie s databázou
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
}
Týmto spôsobom úroveň izolácie kontroluje viditeľnosť zmien medzi transakciami a ovplyvňuje správanie zámkov.