トランザクションの作成方法によって異なります。
インライン SQL を実行して開始した場合 (例:BEGIN TRAN
)、L2S はトランザクションを認識せず、新しいネストされたトランザクションを READ COMMITTED
でスピンアップします。 .
ただし、System.Transaction を使用した場合、または DataContext
にトランザクションが設定されている場合 、SubmitChanges はそのトランザクションに参加します。
TM: Begin Tran
を選択すると、これらのトランザクションの開始と停止をプロファイラーで確認できます。 および 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
プレ>