SqlSugarHelper.cs

复制代码
using Microsoft.Extensions.Configuration;
using Microsoft.IdentityModel.Protocols;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;

namespace PT.DAL
{

    public class SqlSugarHelper
    {

        //多库情况下使用说明:
        //如果是固定多库可以传 new SqlSugarScope(List<ConnectionConfig>,db=>{}) 文档:多租户
        //如果是不固定多库 可以看文档Saas分库
        //static string connstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        private readonly static IConfiguration Configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true)
.Build();

        private static string conn = Configuration.GetConnectionString("BaseDb");

        static string sqlstr;

        static SqlSugarHelper()
        {
            //Install-Package Microsoft.Extensions.Configuration

            //Install - Package Microsoft.Extensions.Configuration.Json


        }



       //用单例模式
        public static SqlSugarScope Db = new SqlSugarScope(new ConnectionConfig()
        {
            ConnectionString = conn,// "",
                                    //",
            DbType = DbType.SqlServer,//数据库类型
            IsAutoCloseConnection = true //不设成true要手动close
        },
      db =>
      {
          //(A)全局生效配置点,一般AOP和程序启动的配置扔这里面 ,所有上下文生效
          //调试SQL事件,可以删掉
          db.Aop.OnLogExecuting = (sql, pars) =>
          {

              Console.WriteLine(sql);//输出sql,查看执行sql 性能无影响

              //获取原生SQL推荐 5.1.4.63  性能OK
              //sqlstr = UtilMethods.GetNativeSql(sql, pars);

              //获取无参数化SQL 对性能有影响,特别大的SQL参数多的,调试使用
              //sqlstr = UtilMethods.GetSqlString(DbType.SqlServer, sql, pars);

          };

          //多个配置就写下面
          //db.Ado.IsDisableMasterSlaveSeparation=true;

          //注意多租户 有几个设置几个
          //db.GetConnection(i).Aop
      });

    }

}
复制代码

 

posted @   妖狐鬼魅  阅读(494)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示