Dipende da come hai creato la transazione.
Se hai eseguito SQL inline per avviarlo (ad es. BEGIN TRAN
), L2S non sarà a conoscenza della transazione e ne creerà una nuova annidata in READ COMMITTED
.
Tuttavia, se hai utilizzato System.Transaction o hai impostato una transazione sul tuo DataContext
, SubmitChanges parteciperà a tale transazione.
Puoi vedere queste transazioni che iniziano e si fermano in Profiler se scegli TM: Begin Tran
e TM: Commit Tran
classi di eventi.
Nota:ADO.Net non emette BEGIN TRAN
né emette SET TRANSACTION ISOLATION
in batch, questo viene fatto a un livello inferiore.
Se tu davvero si desidera confermare il comportamento, creare un trigger su una tabella che inserisca il livello di isolamento corrente in una tabella di registrazione e verificarlo.
Puoi aumentare il tuo attuale livello di isolamento eseguendo:
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