Junior — Middle
Ma'lumotlar bazasida tranzaktsiyalarni izolyatsiya darajasini qanday sozlash mumkin?
sobes.tech AI
AIdan javob
C# tilida tranzaktsiyalar darajasini TransactionScope ob'ekti yaratilganda yoki SqlTransaction ishlatilganda sozlash mumkin.
Masalan, TransactionScope bilan izolatsiya darajasini TransactionOptions parametri orqali belgilash mumkin:
using System.Transactions;
var options = new TransactionOptions
{
IsolationLevel = IsolationLevel.Serializable,
Timeout = TransactionManager.DefaultTimeout
};
using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
// ma'lumotlar bazasi operatsiyalari
scope.Complete();
}
SqlTransaction ishlatilganda, izolatsiya darajasi tranzaksiya boshlanishida belgilangan:
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
try
{
// ma'lumotlar bazasi operatsiyalari
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
}
Shu tarzda, izolatsiya darajasi tranzaktsiyalar o'rtasidagi o'zgarishlarning ko'rinishini nazorat qiladi va blokirovka xulq-atvoriga ta'sir qiladi.