MeiRiYiCheng_1_old/Nirvana.Data/ReadDbContext.cs

64 lines
2.3 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Nirvana.Common;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Nirvana.Data
{
public class ReadDbContext
{
public static string ConnectionString = Configs.GetString("NirvanaConnection");
public static Dictionary<string, SqlFilterItem> DefaultFilter = new Dictionary<string, SqlFilterItem>
{
};
public static SqlSugarClient GetInstance()
{
try
{
var Connection = new ConnectionConfig() { ConnectionString = ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true };
var reval = new SqlSugarClient(Connection);
DefaultFilter.Keys.ToList().ForEach(x =>
{
reval.QueryFilter.Add(DefaultFilter[x]);
});//给查询添加默认过滤器 (所有查询加上 isdeleted=0 or null
//.AddDisableUpdateColumns("CreateTime", "Creator");//添加禁止更新列
reval.Ado.IsEnableLogEvent = true;
reval.Aop.OnLogExecuting = (sql, pars) => //SQL执行前事件
{
//在这儿打段点可以查看生成的SQL语句
Console.WriteLine(sql);
};
reval.Aop.OnLogExecuted = (sql, pars) => //SQL执行完事件
{
// 获取执行时间
// var time = reval.Ado.SqlExecutionTime;
// reval.Ado.Close();
};
//reval.Aop.OnError = (exp) =>//执行SQL 错误事件
//{
// //执行的SQL
// Console.WriteLine(exp.Sql);
// //执行的参数
// var param = exp.Parametres;
//};
reval.Aop.OnExecutingChangeSql = (sql, pars) => //SQL执行前 可以修改SQL
{
return new KeyValuePair<string, SugarParameter[]>(sql, pars);
};
return reval;
}
catch (Exception)
{
throw new Exception("连接数据库出错,请检查您的连接字符串和网络。");
}
}
}
}