Het hangt af van hoe u de transactie hebt gemaakt.
Als u inline SQL hebt uitgevoerd om het te starten (bijv. BEGIN TRAN ), zal L2S niet op de hoogte zijn van de transactie en zal een nieuwe geneste genereren in READ COMMITTED .
Als u echter System.Transaction heeft gebruikt of een transactie heeft ingesteld op uw DataContext , SubmitChanges zal deelnemen aan die transactie.
U kunt deze transacties zien starten en stoppen in Profiler als u kiest voor de TM: Begin Tran en TM: Commit Tran evenement klassen.
Opmerking:ADO.Net geeft BEGIN TRAN niet uit noch geeft het SET TRANSACTION ISOLATION in batches gebeurt dit op een lager niveau.
Als je echt het gedrag wilt bevestigen, maak een trigger op een tabel die het huidige isolatieniveau in een logtabel invoegt en controleer deze.
U kunt uw huidige isolatieniveau ophalen door het volgende uit te voeren:
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