zoukankan      html  css  js  c++  java
  • 查询并验证 TransactionScope 隔离级别

    void Main()
    {
        this.ExecuteQuery<string>(@"SELECT  CASE transaction_isolation_level
                                          WHEN 0 THEN 'Unspecified'
                                          WHEN 1 THEN 'ReadUncommitted'
                                          WHEN 2 THEN 'ReadCommitted'
                                          WHEN 3 THEN 'Repeatable'
                                          WHEN 4 THEN 'Serializable'
                                          WHEN 5 THEN 'Snapshot'
                                        END AS TRANSACTION_ISOLATION_LEVEL
                                FROM    sys.dm_exec_sessions
                                WHERE   session_id = @@SPID;", new object[] { }).Dump();
    
        using (var tran = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 0, 120)))
        {
            this.ExecuteQuery<string>(@"SELECT  CASE transaction_isolation_level
                                          WHEN 0 THEN 'Unspecified'
                                          WHEN 1 THEN 'ReadUncommitted'
                                          WHEN 2 THEN 'ReadCommitted'
                                          WHEN 3 THEN 'Repeatable'
                                          WHEN 4 THEN 'Serializable'
                                          WHEN 5 THEN 'Snapshot'
                                        END AS TRANSACTION_ISOLATION_LEVEL
                                FROM    sys.dm_exec_sessions
                                WHERE   session_id = @@SPID;", new object[] { }).Dump();
        }
        
        var transactionOptions = new System.Transactions.TransactionOptions();
        transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
        using (var transactionScope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required, transactionOptions))
        {
            this.ExecuteQuery<string>(@"SELECT  CASE transaction_isolation_level
                                          WHEN 0 THEN 'Unspecified'
                                          WHEN 1 THEN 'ReadUncommitted'
                                          WHEN 2 THEN 'ReadCommitted'
                                          WHEN 3 THEN 'Repeatable'
                                          WHEN 4 THEN 'Serializable'
                                          WHEN 5 THEN 'Snapshot'
                                        END AS TRANSACTION_ISOLATION_LEVEL
                                FROM    sys.dm_exec_sessions
                                WHERE   session_id = @@SPID;", new object[] { }).Dump();
        }
    }
    
    // Define other methods and classes here
  • 相关阅读:
    hdu1754:I Hate It
    hdu1166
    bzoj1642:挤奶时间
    线段树
    bzoj1699:排队
    bzoj3438: 小M的作物
    bzoj2127: happiness
    bzoj2768[JLOI2010]冠军调查
    bzoj1070[SCOI2007]修车
    bzoj1305[CQOI2009]dance跳舞
  • 原文地址:https://www.cnblogs.com/nanfei/p/12964642.html
Copyright © 2011-2022 走看看