sqlsugar打印輸出sql語句


 

 /// <summary>
    ///     數據倉儲工廠
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class DbContext<T> where T : class, new()
    {
        /// <summary>
        ///     注意:不能寫成靜態的 //用來處理事務多表查詢和復雜的操作
        /// </summary>
        public SqlSugarClient Db;

        /// <summary>
        ///     入口
        /// </summary>
        public DbContext()
        {
            Db = new SqlSugarClient(new ConnectionConfig
            {
                ConnectionString = xx.ConnStr,
                DbType = DbType.SqlServer,
                InitKeyType = InitKeyType.Attribute, //從特性讀取主鍵和自增列信息
                IsAutoCloseConnection = true //開啟自動釋放模式和EF原理一樣我就不多解釋了
            });

            //調式代碼 用來打印SQL 
            Db.Aop.OnLogExecuting = (sql, pars) =>
            {
                //Console.WriteLine(sql + "\r\n" +Db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)));
                // LogHelper.LogWrite(sql + "\r\n" +Db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)));
            };

        }

        /// <summary>
        ///     用來處理T表的常用操作
        /// </summary>
        public SimpleClient<T> CurrentDb => new SimpleClient<T>(Db);

        /// <summary>
        ///     獲取所有
        /// </summary>
        /// <returns></returns>
        public virtual List<T> GetList()
        {
            return CurrentDb.GetList();
        }

        /// <summary>
        ///     添加
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public virtual bool Add(T obj)
        {
            return CurrentDb.Insert(obj);
        }

        /// <summary>
        ///     根據主鍵刪除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public virtual bool Delete(dynamic id)
        {
            return CurrentDb.Delete(id);
        }

        /// <summary>
        ///     更新
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public virtual bool Update(T obj)
        {
            return CurrentDb.Update(obj);
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM