You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.1 KiB
C#

using Custom.Utils.Framework;
using SqlSugar;
using System;
using DbType = SqlSugar.DbType;
namespace CompressorXN_Service
{
public partial class DbContext
{
public DbContext()
{
ConnectDb();
}
/// <summary>
/// 连接符字串
/// $"Server={Server};Port={Port};Database={Database};User Id={UserId};Password={passWord}"
/// </summary>
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);
}
}
}
}