Es hängt davon ab, wie Sie die Transaktion erstellt haben.
Wenn Sie zu Beginn Inline-SQL ausgeführt haben (z. B. BEGIN TRAN
), erkennt L2S die Transaktion nicht und erstellt eine neue verschachtelte Transaktion in READ COMMITTED
.
Wenn Sie jedoch System.Transaction verwendet haben oder eine Transaktion für Ihren DataContext
festgelegt haben , wird SubmitChanges an dieser Transaktion teilnehmen.
Sie können sehen, wie diese Transaktionen im Profiler gestartet und gestoppt werden, wenn Sie TM: Begin Tran
auswählen und TM: Commit Tran
Event-Klassen.
Hinweis:ADO.Net gibt BEGIN TRAN
nicht aus noch gibt es SET TRANSACTION ISOLATION
aus bei Chargen erfolgt dies auf einer niedrigeren Ebene.
Wenn Sie wirklich das Verhalten bestätigen möchten, erstellen Sie einen Trigger für eine Tabelle, der die aktuelle Isolationsstufe in eine Protokollierungstabelle einfügt, und überprüfen Sie sie.
Sie können Ihre aktuelle Isolationsstufe abrufen, indem Sie Folgendes ausführen:
SELECT CASE transaction_isolation_level
WHEN 0 THEN 'Unspecified'
WHEN 1 THEN 'Read Uncommitted'
WHEN 2 THEN 'Read Committed'
WHEN 3 THEN 'Repeatable Read'
WHEN 4 THEN 'Serializable'
WHEN 5 THEN 'Snapshot' END AS TRANSACTION_ISOLATION_LEVEL
FROM sys.dm_exec_sessions
where session_id = @@SPID