asp.net core SqlSugar 多库切换

浪淘沙1年前后端390
  private readonly SqlSugar.ISqlSugarClient _db;

        public AIService(ISqlSugarClient db)
        {
           
            this._db = db.AsTenant().GetConnection("1");
        }
using Furion;
using Masuit.Tools;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using SqlSugar;
using System;
using System.Collections.Generic;
using xxtsoft.Common;

namespace xxtsoft.Core
{
    public static class SqlSugarSetup
    {

        public static void AddSqlSugarSetup(this IServiceCollection services, IConfiguration configuration, string conn = "ConnectionStrings:conn")
        {

            /**********多库调用示例*************
              * 
              * .cs
             private readonly SqlSugar.ISqlSugarClient _db;

                public testModel(SqlSugar.ISqlSugarClient db)
                {
                    this._db = db.AsTenant().GetConnection("0");           
                }
                public void OnGet()
                {     
                    dt = _db.Ado.GetDataTable("select * from configuration_properties");
                }
             }    
            * 
            * **************************************/


            SqlSugarScope sqlSugar = new SqlSugarScope(new List<ConnectionConfig>()
            {
               new ConnectionConfig()
               {
                    ConfigId = "0",
                    DbType = DbType.SqlServer,
                    ConnectionString = App.Configuration["ConnectionStrings:conn"],//连接sqlserver符字串
                    IsAutoCloseConnection = true,
                    InitKeyType=InitKeyType.Attribute
                   

               },
               new ConnectionConfig()
               {
                    ConfigId = "1",
                    DbType = DbType.MySql,
                    ConnectionString = App.Configuration["ConnectionStrings:connmszsdev"],//连接mysql符字串
                    IsAutoCloseConnection = true,
                    InitKeyType=InitKeyType.Attribute
                }
              },
                db =>
                {

                    db.Ado.CommandTimeOut = 500;

                    ////单例参数配置,所有上下文生效
                    //db.GetConnection("0").Aop.OnLogExecuting = (sql, pars) =>
                    //{
                    //    if (App.Configuration["debug:sql"].ToLower() == "true")
                    //    {
                    //        FileHelper.FileAdd(FileHelper.absolutPath("log.txt"), "=======" + DateTime.Now + "=======\r\n【ConfigId】1"+  db.CurrentConnectionConfig.ConnectionString + "\r\n【sql】\r\n" + sql + "\r\n【参数】\r\n" + pars.ToJsonString() + "\r\n\r\n");
                    //    }

                    //};
                    //db.GetConnection("1").Aop.OnLogExecuting = (sql, pars) =>
                    //{
                    //    if (App.Configuration["debug:sql"].ToLower() == "true")
                    //    {
                    //        FileHelper.FileAdd(FileHelper.absolutPath("log.txt"), "=======" + DateTime.Now + "=======\r\n【ConfigId】2" + db.CurrentConnectionConfig.ConnectionString + "\r\n【sql】\r\n" + sql + "\r\n【参数】\r\n" + pars.ToJsonString() + "\r\n\r\n");
                    //    }

                    //};

                });

            services.AddSingleton<ISqlSugarClient>(sqlSugar);//这边是SqlSugarScope用AddSingleton

        }
    }
}


相关文章

asp.net 取得邮政Ems物流数据

asp.net 取得邮政Ems物流数据

一、引用dllBouncyCastle.Crypto.rar二、SM4加密using System; using System.Collections.Generic; usi...

asp.net core Razor 部门视图Partial Views 用法

1、在/Pages/Shared/目录下创建设视图文件 _top.cshtml2、在razor页面中进行引用@await Html.PartialAsync("_top&...

asp.net core razor onpost

不管 OnGet 填充多少东西OnPost 必须再填一次因为 Razor Pages 不会“记住” ViewModelPOST 后是重新执行一个请求,Model 全部重新创建。不像 WebForms,...

asp.net core sqlsugar sql原生采用参数形式

    #region 入库     string sql = "...

JNTemplate 模板标签传递url参数

一、模板 private readonly SqlSugar.ISqlSugarClient _db;  public Index1M...

asp.net core razor 中文搜索 url转码

 return Redirect("feedback_list?fst=" + fst + "&Status=" + Status + &qu...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。