DotNetNext / SqlSugar

.Net aot ORM Fastest ORM Simple Easy VB.NET Sqlite orm Oracle ORM Mysql Orm 虚谷数据库 postgresql ORm SqlServer oRm 达梦 ORM 人大金仓 ORM 神通ORM C# ORM , C# ORM .NET ORM NET5 ORM .NET6 ORM ClickHouse orm QuestDb ,TDengine ORM,OceanBase orm,GaussDB orm ,Tidb orm Object/Relational Mapping
https://www.donet5.com/Home/Doc
MIT License
5.19k stars 1.32k forks source link

Aop 不支持通过 Ado 直接执行 sql 语句使用记录日志,有地方全局配置吗? #1197

Closed idea-zone closed 9 months ago

idea-zone commented 9 months ago
// 设置 Aop
  db.Aop.OnLogExecuting = (sql, args) =>
            {
                    string log = $"【db0 SQL语句】{UtilMethods.GetSqlString(DbType.PostgreSQL, sql, args)}\n";
                    Console.WriteLine(log );
            };

// 在程序中直接通过 Ado 执行 Sql
var dt = db.Ado.GetDataTable(strSQL, sqlParas)
DotNetNext commented 9 months ago

支持的

DotNetNext commented 9 months ago

多租户需要注意一下用法,还有是sqlsugarscope需要注意一下OnLogExecuting 扔的地方

idea-zone commented 9 months ago

多租户需要注意一下用法,还有是sqlsugarscope需要注意一下OnLogExecuting 扔的地方

可以给个文档的链接吗?感谢大佬。

DotNetNext commented 9 months ago

多租户AOP看这个 https://www.donet5.com/Home/Doc?typeId=2246

SqlSugarClient Db= new SqlSugarClient(new ConnectionConfig(){
           ConnectionString = "连接符字串", 
           DbType = DbType.SqlServer,
           IsAutoCloseConnection = true},
           db=>{  
                    // 如果使用的是GetConnectionScope那么AOP也要一样
                   db.GetConnection("1").Aop.OnLogExecuting = (sql, pars) =>
                   {
                     Console.WriteLine("执行1库"+sql);
                   };
                   db.GetConnection("0").Aop.OnLogExecuting = (sql, pars) =>
                   {
                      Console.WriteLine("执行0库"+sql);
                   };

  });
DotNetNext commented 9 months ago

还有问题发新的Issue ,这个先关闭