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() чакырылбаса, бардык өзгөртүүлөр кайтарылат.