Junior — Middle
Դուք ունե՞ք տվյալների բազաների կառավարման համակարգերում գործարքների օգտագործման փորձ։
sobes.tech AI
Պատասխան AI-ից
Այո, C#-ում տվյալների բազաների հետ գործելու համար հաճախ օգտագործվում է TransactionScope դասը կամ տվյալների բազայի կոնկրետ պրովայդերի տրամադրած գործառնությունները, օրինակ՝ SqlTransaction SQL Server-ի համար:
Գործարքը թույլ է տալիս խմբավորել մի քանի գործողություններ տվյալների բազայում մեկ ամբողջության մեջ, որը կամ ամբողջությամբ կատարվում է, կամ սխալի դեպքում ամբողջությամբ հետ է քաշվում՝ ապահովելով տվյալների ամբողջականությունը:
Օրինակ՝ TransactionScope-ի օգտագործմամբ՝
using (var scope = new TransactionScope())
{
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var command1 = new SqlCommand("INSERT INTO Table1 ...", connection);
command1.ExecuteNonQuery();
var command2 = new SqlCommand("UPDATE Table2 ...", connection);
command2.ExecuteNonQuery();
}
scope.Complete(); // Հաստատում գործարքը
}
Եթե բլոկում տեղի ունենա արտահայտություն և scope.Complete()-ը չկոչվի, բոլոր փոփոխությունները հետ կվերացվեն։