using System; using Furion; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using SqlSugar; using SqlSugar.IOC; namespace ZTICInterface.Core; public static class SqlsugarSetup { public static void AddSqlsugarSetup(this IServiceCollection services) { services.AddSqlSugar(new IocConfig() { ConnectionString = App.Configuration["DatabaseSettings:MainDb:ConnectionString"],//连接符字串 DbType = (IocDbType)Enum.Parse(typeof(IocDbType), App.Configuration["DatabaseSettings:MainDb:DbType"]), IsAutoCloseConnection = true, ConfigId = "1", }); services.ConfigurationSugar(db => { db.GetConnection("1").Aop.OnLogExecuting = (sql, p) => { Console.WriteLine(SqlProfiler.ParameterFormat(sql, p)); Console.WriteLine(); App.PrintToMiniProfiler("SqlSugar", "Info", SqlProfiler.ParameterFormat(sql, p)); }; }); } public class SqlProfiler { public static string ParameterFormat(string sql, SugarParameter[] pars) { for (int index = pars.Length - 1; index >= 0; --index) sql = pars[index].DbType == System.Data.DbType.String || pars[index].DbType == System.Data.DbType.DateTime || pars[index].DbType == System.Data.DbType.Date || pars[index].DbType == System.Data.DbType.Time || pars[index].DbType == System.Data.DbType.DateTime2 || pars[index].DbType == System.Data.DbType.DateTimeOffset || pars[index].DbType == System.Data.DbType.Guid || pars[index].DbType == System.Data.DbType.VarNumeric || pars[index].DbType == System.Data.DbType.AnsiStringFixedLength || pars[index].DbType == System.Data.DbType.AnsiString || pars[index].DbType == System.Data.DbType.StringFixedLength ? sql.Replace(pars[index].ParameterName, "'" + pars[index].Value?.ToString() + "'") : (pars[index].DbType != System.Data.DbType.Boolean ? sql.Replace(pars[index].ParameterName, pars[index].Value?.ToString()) : sql.Replace(pars[index].ParameterName, Convert.ToBoolean(pars[index].Value) ? "1" : "0")); return sql; } public static string ParameterFormat(string sql, object pars) { SugarParameter[] pars1 = (SugarParameter[])pars; return SqlProfiler.ParameterFormat(sql, pars1); } } }