Sobes.tech
Junior — Middle

Πώς μπορεί να ρυθμιστεί το επίπεδο απομόνωσης των συναλλαγών στη βάση δεδομένων;

sobes.tech AI

Απάντηση από AI

Στη C#, το επίπεδο απομόνωσης των συναλλαγών μπορεί να ρυθμιστεί κατά τη δημιουργία του αντικειμένου TransactionScope ή κατά τη χρήση του SqlTransaction.

Για παράδειγμα, με το TransactionScope, μπορείτε να καθορίσετε το επίπεδο απομόνωσης μέσω της παραμέτρου TransactionOptions:

using System.Transactions;

var options = new TransactionOptions
{
    IsolationLevel = IsolationLevel.Serializable,
    Timeout = TransactionManager.DefaultTimeout
};

using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
    // λειτουργίες βάσης δεδομένων
    scope.Complete();
}

Κατά τη χρήση του SqlTransaction, το επίπεδο απομόνωσης ορίζεται στην αρχή της συναλλαγής:

using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
    try
    {
        // λειτουργίες βάσης δεδομένων
        transaction.Commit();
    }
    catch
    {
        transaction.Rollback();
        throw;
    }
}

Έτσι, το επίπεδο απομόνωσης ελέγχει την ορατότητα των αλλαγών μεταξύ των συναλλαγών και επηρεάζει τη συμπεριφορά των κλειδώσεων.