To zależy od tego, jak utworzyłeś transakcję.
Jeśli uruchomiłeś inline SQL, aby go rozpocząć (np. BEGIN TRAN
), L2S nie będzie wiedział o transakcji i uruchomi nową zagnieżdżoną w READ COMMITTED
.
Jeśli jednak użyłeś System.Transaction lub masz ustawioną transakcję w swoim DataContext
, SubmitChanges będzie uczestniczyć w tej transakcji.
Możesz zobaczyć te transakcje rozpoczynające się i zatrzymujące w Profiler, jeśli wybierzesz TM: Begin Tran
i TM: Commit Tran
zajęcia z imprez.
Uwaga:ADO.Net nie wydaje BEGIN TRAN
nie wydaje też SET TRANSACTION ISOLATION
w partiach odbywa się to na niższym poziomie.
Jeśli naprawdę chcesz potwierdzić zachowanie, utwórz wyzwalacz w tabeli, który wstawia bieżący poziom izolacji do tabeli rejestrowania i sprawdź go.
Możesz wybrać swój obecny poziom izolacji, uruchamiając:
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