Depende de cómo haya creado la transacción.
Si ejecutó SQL en línea para comenzar (EG. BEGIN TRAN
), L2S no se dará cuenta de la transacción y generará una nueva anidada en READ COMMITTED
.
Sin embargo, si usó System.Transaction o tiene una transacción configurada en su DataContext
, SubmitChanges participará en esa transacción.
Puede ver estas transacciones comenzando y deteniéndose en Profiler si elige TM: Begin Tran
y TM: Commit Tran
clases de eventos.
Nota:ADO.Net no emite BEGIN TRAN
ni emite SET TRANSACTION ISOLATION
en lotes, esto se hace a un nivel inferior.
Si realmente desea confirmar el comportamiento, cree un activador en una tabla que inserte el nivel de aislamiento actual en una tabla de registro y compruébelo.
Puede recuperar su nivel de aislamiento actual ejecutando:
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