SqlSugar可同時連接多種類數據庫的 daonet框架


1、官方中文文檔

https://www.donet5.com/home/Doc

2、引入NuGet包

3、數據庫訪問類

using SqlSugar;
using System.Configuration;
using log4net;

namespace Dao
{
    public class SqlGenerator
    {
        private static readonly ILog log = LogManager.GetLogger(typeof(SqlGenerator));
        public static string ConnectionString = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;

        private static SqlSugarClient sqlSugarClient = null;

        private static readonly object lockHelper = new object();

        /// <summary>
        /// 連接Oracle數據庫
        /// </summary>
        /// <returns></returns>
        public static SqlSugarClient GetOracleInstance()
        {
            if (sqlSugarClient == null)
            {
                lock (lockHelper)
                {   
            //此寫法,官方不推薦
//單例模式,避免多次實例化 if (sqlSugarClient == null) { sqlSugarClient = new SqlSugarClient(new ConnectionConfig() { //數據庫類型 DbType = DbType.Oracle, //數據庫連接字符串 ConnectionString = ConnectionString, InitKeyType = InitKeyType.Attribute, //是否自動關閉連接 IsAutoCloseConnection = true, AopEvents = new AopEvents { //記錄執行SQL和參數 OnLogExecuting = (sql, p) => { log.Debug(sql); } } }); } } } return sqlSugarClient; }
//官方建議 不單例 SqlSugarClient 對象
public SqlSugarClient GetSQLServerInstance() { return new SqlSugarClient(new ConnectionConfig() { DbType = DbType.SqlServer, ConnectionString = ConnectionString, InitKeyType = InitKeyType.Attribute, IsAutoCloseConnection = true, AopEvents = new AopEvents { OnLogExecuting = (sql, p) => { log.Debug(sql); } } }); } } }

4、使用

//獲取數據訪問類對象
SqlSugarClient sqlServerDB = SqlGenerator.GetSQLServerInstance();

//調用查詢方法
sqlServerDB.Ado.SqlQuery<CommonTable>(sql).ToList();

5、增、刪、改 及查詢更多更詳細的方法,請參照官方幫助文檔

https://www.donet5.com/home/Doc

https://www.donet5.com

6、在sqlSugar的幫助類中盡量避免  單例 SqlSugarClient ,也就是上述代碼中的 紅色部分,官方是不建議使用單例對象的,具體原因是:

偶發性錯誤 - SqlSugar 5x - .NET果糖網 (donet5.com)

在多線程下,可能會引發異常。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM