Sobes.tech
Junior — Middle

Kas teil on kogemusi andmebaaside haldussüsteemides tehingute kasutamisel?

sobes.tech AI

Vastus AI-lt

Jah, C#-s kasutatakse sageli TransactionScope klassi või konkreetse andmebaasi pakkuja poolt pakutavaid tehinguid, näiteks SqlTransaction SQL Serveri jaoks.

Tehing võimaldab grupeerida mitu toimingut andmebaasis üheks tervikuks, mis või täidetakse täielikult või tühistatakse täielikult vea korral, tagades andmete terviklikkuse.

Näide TransactionScope kasutamisest:

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(); // Tehingu kinnitamine
}

Kui plokis tekib erind ja scope.Complete() ei kutsuta, tühistatakse kõik muudatused.