Junior — Middle
როგორ შეიძლება კონფიგურაცია Transaction-ის იზოლაციის დონე მონაცემთა ბაზაში?
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;
}
}
ამ გზით, იზოლაციის დონე აკონტროლებს ცვლილებების ხილვადობას ტრანზაქციებს შორის და გავლენას ახდენს ბლოკირების ქცევაზე.