using AUCMA.STORE.Common; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AUCMA.STORE.SqlSugar { public class SqlGenerator { public static string ConnectionString = ConfigHelper.GetConfig("MesOracleDataSource"); private static SqlSugarClient sqlSugarClient = null; private static readonly object lockHelper = new object(); /// /// 连接Oracle数据库 /// /// public static SqlSugarClient GetOracleInstance() { if (sqlSugarClient == null) { lock (lockHelper) { //此写法,官方不推荐 //单例模式,避免多次实例化 if (sqlSugarClient == null) { sqlSugarClient = new SqlSugarClient(new ConnectionConfig() { //数据库类型 DbType = DbType.Oracle, //数据库连接字符串 ConnectionString = ConnectionString, InitKeyType = InitKeyType.Attribute, //是否自动关闭连接 IsAutoCloseConnection = true, AopEvents = new AopEvents { //记录执行SQL和参数 OnLogExecuting = (sql, p) => { //log.Debug(sql); //Console.WriteLine(sql); } } }); } } } return sqlSugarClient; } //官方建议 不单例 SqlSugarClient 对象 ,在多线程下,可能会引发异常。 public static SqlSugarClient GetSQLServerInstance() { return new SqlSugarClient(new ConnectionConfig() { DbType = DbType.SqlServer, ConnectionString = ConnectionString, InitKeyType = InitKeyType.Attribute, IsAutoCloseConnection = true, AopEvents = new AopEvents { OnLogExecuting = (sql, p) => { //log.Debug(sql); } } }); } } }