Exemplo n.º 1
0
        public void Execute(Action <WePorjectDbContext> actions)
        {
            var context = new WePorjectDbContext();
            var log     = new DataLog();

            context.Database.Log = log.AddLog;
            var sw = new Stopwatch();

            sw.Start();
            try
            {
                context.Database.BeginTransaction();
                actions(context);
                context.SaveChanges();
                context.Database.CurrentTransaction.Commit();
                sw.Stop();
                if (sw.ElapsedMilliseconds >= warnMilliseconds)
                {
                    LogHelper.AddSqlLog($"[EF Execute 2]警告({sw.ElapsedMilliseconds}ms):{actions.Target.GetType()}.{actions.Method.Name}\r\n{string.Join("", log.Logs)}");
                }
            }
            catch (Exception ex)
            {
                sw.Stop();
                context.Database.CurrentTransaction.Rollback();
                LogHelper.Fatal(ex.Message, ex);
            }
        }
Exemplo n.º 2
0
        public T Execute <T>(Func <WePorjectDbContext, T> func)
        {
            var context = new WePorjectDbContext();
            var log     = new DataLog();

            context.Database.Log = log.AddLog;
            var sw = new Stopwatch();

            sw.Start();
            try
            {
                context.Database.BeginTransaction();
                T t = func(context);
                context.SaveChanges();
                context.Database.CurrentTransaction.Commit();
                sw.Stop();
                if (sw.ElapsedMilliseconds >= warnMilliseconds)
                {
                    LogHelper.AddSqlLog($"[EF Execute 1]警告({sw.ElapsedMilliseconds}ms):{func.Target.GetType()}.{func.Method.Name}\r\n{string.Join("", log.Logs)}");
                }
                return(t);
            }
            catch (Exception ex)
            {
                sw.Stop();
                context.Database.CurrentTransaction.Rollback();
                LogHelper.Fatal(ex.Message, ex);
                throw;
            }
        }
Exemplo n.º 3
0
        public void Query(Action <WePorjectDbContext> actions)
        {
            var context = new WePorjectDbContext();
            var log     = new DataLog();

            context.Database.Log = log.AddLog;
            var sw = new Stopwatch();

            sw.Start();
            actions(context);
            sw.Stop();
            if (sw.ElapsedMilliseconds >= warnMilliseconds)
            {
                LogHelper.AddSqlLog($"[EF Query 2]警告({sw.ElapsedMilliseconds}ms):{actions.Target.GetType()}.{actions.Method.Name}\r\n{string.Join("", log.Logs)}");
            }
        }
Exemplo n.º 4
0
 public void Db(Action <IDbConnection> action)
 {
     using (var conn = new SqlConnection(ConnString))
     {
         conn.Open();
         var sw = new Stopwatch();
         sw.Start();
         action(conn);
         sw.Stop();
         if (sw.ElapsedMilliseconds >= warnMilliseconds)
         {
             LogHelper.AddSqlLog($"[Dapper 2]警告({sw.ElapsedMilliseconds}ms):{action.Target.GetType()}.{action.Method.Name}");
         }
         conn.Close();
         conn.Dispose();
     }
 }
Exemplo n.º 5
0
        public T Query <T>(Func <WePorjectDbContext, T> func)
        {
            var context = new WePorjectDbContext();
            var log     = new DataLog();

            context.Database.Log = log.AddLog;
            var sw = new Stopwatch();

            sw.Start();
            var result = func(context);

            sw.Stop();
            if (sw.ElapsedMilliseconds >= warnMilliseconds)
            {
                LogHelper.AddSqlLog($"[EF Query 1]警告({sw.ElapsedMilliseconds}ms):{func.Target.GetType()}.{func.Method.Name}\r\n{string.Join("", log.Logs)}");
            }
            return(result);
        }
Exemplo n.º 6
0
 public T Db <T>(Func <IDbConnection, T> func)
 {
     using (var conn = new SqlConnection(ConnString))
     {
         conn.Open();
         var sw = new Stopwatch();
         sw.Start();
         var result = func(conn);
         sw.Stop();
         if (sw.ElapsedMilliseconds >= warnMilliseconds)
         {
             LogHelper.AddSqlLog($"[Dapper 1]警告({sw.ElapsedMilliseconds}ms):{func.Target.GetType()}.{func.Method.Name}");
         }
         conn.Close();
         conn.Dispose();
         return(result);
     }
 }