首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# Attribute 實現 AOP 事務(一):核心概念 CallContext 上下文傳遞、SqlHelper 封裝、無事務版 SqlDAL 基礎架構

     編輯:關於C語言

閱讀前提示

  1. 核心在於 CallContext 跨邊界傳遞交易物件。
  2. 採用微軟 SqlHelper.cs 封裝資料存取。
  3. 本文為系列第一篇,僅建立無事務版基礎架構。

無事務版 SqlDAL


public abstract class SqlDAL
{
    private SqlConnectionStringBuilder _connStr;
    public virtual SqlConnectionStringBuilder ConnectionString
    {
        get
        {
            if (_connStr == null || string.IsNullOrEmpty(_connStr.ConnectionString))
                _connStr = new SqlConnectionStringBuilder(Configurations.SQLSERVER_CONNECTION_STRING);
            return _connStr;
        }
        set { _connStr = value; }
    }

    public int ExecuteNonQuery(string cmdText)
        => SqlHelper.ExecuteNonQuery(ConnectionString.ConnectionString, CommandType.Text, cmdText);
    public int ExecuteNonQuery(string cmdText, CommandType type)
        => SqlHelper.ExecuteNonQuery(ConnectionString.ConnectionString, type, cmdText);
    public int ExecuteNonQuery(string cmdText, CommandType type, params SqlParameter[] pars)
        => SqlHelper.ExecuteNonQuery(ConnectionString.ConnectionString, type, cmdText, pars);
}

此為後續加入 AOP 事務的基礎,下一篇將引入 ContextBoundObject、CallContext、TransactionAop 等核心組件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved