यह इस बात पर निर्भर करता है कि आपने लेन-देन कैसे बनाया।
यदि आपने इसे शुरू करने के लिए इनलाइन SQL निष्पादित किया है (उदा. BEGIN TRAN
), L2S को लेन-देन के बारे में पता नहीं होगा और READ COMMITTED
में एक नया नेस्टेड को स्पिन करेगा .
हालाँकि, यदि आपने System.Transaction का उपयोग किया है, या आपके DataContext
. पर कोई लेन-देन सेट है , सबमिट चेंज उस लेनदेन में भाग लेंगे।
यदि आप TM: Begin Tran
. चुनते हैं, तो आप इन लेन-देन को Profiler में शुरू और रुकते हुए देख सकते हैं और TM: Commit Tran
घटना वर्ग।
नोट:ADO.Net BEGIN TRAN
जारी नहीं करता है न ही यह SET TRANSACTION ISOLATION
जारी करता है बैचों में, यह निचले स्तर पर किया जाता है।
यदि आप वास्तव में व्यवहार की पुष्टि करना चाहते हैं, एक तालिका पर एक ट्रिगर बनाएं जो वर्तमान अलगाव स्तर को लॉगिंग तालिका में सम्मिलित करता है और उस पर जांच करता है।
आप दौड़ कर अपना वर्तमान अलगाव स्तर उठा सकते हैं:
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