SqlSugar创建对象SqlSugarBase
2021/10/13 19:17:33
本文主要是介绍SqlSugar创建对象SqlSugarBase,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
sqlsugar安装:
官网Nuget安装 - SqlSugar 5x - .NET果糖网 (donet5.com)
SqlSugar打包:
public class SqlSugarBase { private static string MyConn { get => ConfigurationManager.ConnectionStrings["myconn"].ConnectionString; } private static SqlSugarClient Client { get => new SqlSugarClient(new ConnectionConfig() { ConnectionString = MyConn, DbType = DbType.SqlServer, IsAutoCloseConnection = true,//自动释放 InitKeyType = InitKeyType.SystemTable }); } /// <summary> /// 打印SQL语句 /// </summary> /// <param name="db"></param> private static void WriteSQL(SqlSugarClient db) { db.Aop.OnLogExecuting = (sql, pars) => { Log.log(sql,new System.Diagnostics.StackTrace(true)); if(pars!=null&&pars.Length>0) Log.log(string.Join(",", pars?.Select(it => it.ParameterName + "=" + it.Value)), new System.Diagnostics.StackTrace(true)); }; } public static SqlSugarClient DB { get { SqlSugarClient db = Client; WriteSQL(db); return db; } } }
在DAL中继承或者直接使用
例如:
public class GuardDAL:SqlSugarBase { public static DataTable GetInfo() { return DB.Queryable<Guard>().ToDataTable(); } public static DataTable GetInfo(int id) { return DB.Queryable<Guard>().Where(it=>it.Id==id).ToDataTable(); } }
以上是继承SqlSugarBase,sqlsugar的简单使用。
注:Log是日志文件,将sql语句以及参数打印。
/// <summary> /// 日志文件 /// </summary> public class Log { // 定义单例模式的变量 private static Log instance = null; //log输出文件 private const string TOFILE_NAME = "\\log.txt"; log输出路径 //private const string TOFILE_PATH = "D:\\LOG\\"; // 单例模式私有的构造方法 private Log() { } public static Log GetInstance() { if (instance == null) { instance = new Log(); } return instance; } public static string PHYSICAL_PATH { get; set; } public static string LAST_MSG { get; set; } //public static string ReadSystemLog() //{ // return File.ReadAllText(LogReadonly.LOG_FILE_PATH + LogReadonly.LOG_FILE_NAME_SYSTEM, Encoding.UTF8); //} /// 创建日志 /// <param name="message">日志信息</param> /// <param name="from">来自哪儿</param> /// <param name="number">行数</param> public static void log(string message, System.Diagnostics.StackTrace st) { string cont = ""; //当前路径 //string path = "../log/"; string logFolderPath = AppDomain.CurrentDomain.BaseDirectory; logFolderPath = logFolderPath.Remove(logFolderPath.Length - 1, 1); logFolderPath = logFolderPath.Replace("/", "\\"); logFolderPath = logFolderPath + "\\log"; //file string fileName = logFolderPath + TOFILE_NAME; DirectoryInfo dir = new DirectoryInfo(logFolderPath); dir.Create();//自行判断一下是否存在。 FileInfo fileInf = new FileInfo(fileName); if (File.Exists(fileName))//如何文件存在 则在文件后面累加 { FileStream logFss = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); StreamReader r = new StreamReader(logFss); cont = r.ReadToEnd(); r.Close(); logFss.Close(); } FileStream logFs = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); StreamWriter n = new StreamWriter(logFs); n.Write(cont); n.Write("时间:" + DateTime.Now.ToString() + "\t" + " 信息:" + message +"\t" + method(st) + "\r\n"); n.Close(); logFs.Close(); if (fileInf.Length >= 1024 * 1024 * 200) { string NewName = logFolderPath + "Log" + DateTime.Now.ToString().Trim().Replace("/", "").Replace(":", "").ToString() + ".txt"; File.Move(fileName, NewName); } } private static string method(System.Diagnostics.StackTrace st) { System.Diagnostics.StackFrame sf = st.GetFrame(0); string mes = System.IO.Path.GetFileNameWithoutExtension(sf.GetFileName().ToString()) + "." + sf.GetMethod().Name + "\t" + sf.GetFileLineNumber() + "行" + sf.GetFileColumnNumber() + "列"; return mes; } }
这篇关于SqlSugar创建对象SqlSugarBase的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)