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