using Custom.Utils.Framework; using SqlSugar; using System; using DbType = SqlSugar.DbType; namespace CompressorXN_Service { public partial class DbContext { public DbContext() { ConnectDb(); } /// /// 连接符字串 /// $"Server={Server};Port={Port};Database={Database};User Id={UserId};Password={passWord}" /// public static string ConnStr = ""; public static SqlSugarScope db = null; public static void GetConStr(string server, string port, string database, string userId, string passWord, bool isEncrypt, string schema) { if (isEncrypt) { // 解密 passWord = DesHelper.DecryptStringFromBytes_Aes(passWord); } ConnStr = $"Server={server};Port={port};Database={database};User Id={userId};Password={passWord};Search Path={schema}"; ConnectDb(); } private static void ConnectDb() { if (db == null) { //用单例模式 db = new SqlSugarScope(new ConnectionConfig() { DbType = DbType.PostgreSQL, //数据库类型 ConnectionString = ConnStr,//连接符字串 IsAutoCloseConnection = true //不设成true要手动close }, db => { //(A)全局生效配置点 //调试SQL事件,可以删掉 //db.Aop.OnLogExecuting = (sql, pars) => //{ // Console.WriteLine(sql);//输出sql,查看执行sql //}; db.Aop.OnError = (sqlSugarException) => { Console.WriteLine(sqlSugarException.Sql); }; }); //db.DbMaintenance.CreateDatabase(); AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); AppContext.SetSwitch("Npgsql.DisableDateTimeInfinityConversions", true); } } } }