2017-02-16 2 views
0

Ich habe Transaktionsbereich verwendet, wenn Daten in zwei Tabellen in einem einzigen Aufruf eingefügt werden. Aber der Transaktionsbereich hielt die Datenbank oder sperrte die Datenbank für einen bestimmten Bereich, wenn ein anderer Benutzer nicht in der Lage war, irgendeine Operation in der Datenbank auszuführen. Bitte sagen Sie mir die alternative Lösung, um eine solche Situation zu vermeiden.Transaktionsbereich sperrt die Datenbank

using (TransactionScope scope = new TransactionScope()) 
{ 
    CamphorTray_OrderDetails ct = new CamphorTray_OrderDetails(); 

    ct.CamphorTray_ID = ctv.CamphorTray_ID; 
    ct.Temple_ID = ctv.Temple_ID; 
    ct.For_Date = ctv.For_Date; 
    ct.Deity = ctv.Deity; 
    ct.Note_Cash = ctv.Note_Cash; 
    ct.Coin = ctv.Coin; 
    ct.Total_amount = ctv.Total_amount; 
    ct.Created_By = ctv.Created_By; 
    ct.Created_Date = DateTime.Now; 
    ct.Modified_By = ctv.Created_By; 
    ct.Modified_Date = DateTime.Now; 

    CTOD.Insert(ct); 

    InsertAudit_CamphorTray_OrderDetails(ct, "Insert"); 
    scope.Complete(); 
} 
+0

Welche Isolationsstufe verwenden Sie standardmäßig? Dies könnte ein Grund sein .... –

Antwort

2

Die Fähigkeit anderer Benutzer die Daten Ihrer Transaktion und Ihre Fähigkeit, Zugriff auf den Zugriff auf ihre und versucht, um die Datenbanken, um sicherzustellen, das funktioniert (von Tabellen Sperren und/oder Zeilen) durch die TransactionOptions gesteuert werden .

Zum Beispiel hierfür wären die unsichersten, aber wahrscheinlich am meisten „so dass“ Art und Weise:

var options = new TransactionOptions { IsolationLevel = IsolationLevel.ReadUncommitted }; 

using (var tranScope = new TransactionScope(TransactionScopeOption.Required, options)) 
{ 

Aber bitte beachten, bevor Sie einfach verwenden: eine Isolationsstufe ist eine gute Sache . Es hilft, Ihre Daten in einem stabilen Zustand zu halten. Ignorieren führt zu allen möglichen seltsamen Fehlern. Ihre Datenbank hat eine enorme Macht, Sie zu helfen, schalten Sie sie nicht einfach ab, weil es schwierig scheint, es richtig zu machen.

Verwandte Themen