Junior — Middle
შეიძლება გქონდეთ მონაცემთა ბაზების მართვის სისტემებში ტრანზაქციების გამოყენების გამოცდილება?
sobes.tech AI
პასუხი AI-სგან
დიახ, C#-ში მონაცემთა ბაზებთან მუშაობისას ხშირად გამოიყენება TransactionScope კლასი ან კონკრეტული მონაცემთა ბაზის პროვაიდერის მიერ მოწოდებული ტრანზაქციები, მაგალითად, SQL Server-ისთვის SqlTransaction.
ტრანზაქცია საშუალებას აძლევს რამდენიმე ოპერაციის გაერთიანებას მონაცემთა ბაზაში ერთ მთლიანობაში, რომელიც ან სრულად შესრულდება, ან შეცდომის შემთხვევაში მთლიანად გაუქმდება, რაც უზრუნველყოფს მონაცემების მთლიანობას.
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() არ გამოიძახება, ყველა ცვლილება გაუქმდება.