Esempio n. 1
0
 /// <summary>
 /// Curd前事件
 /// </summary>
 /// <param name="s"></param>
 /// <param name="e"></param>
 private void CurdBefore(object s, CurdBeforeEventArgs e)
 {
     if (_systemConfig.CurrentValue != null && _systemConfig.CurrentValue.WatchCurd)
     {
         Console.WriteLine($"{e.Sql}\r\n");
     }
 }
Esempio n. 2
0
        async public Task <long> ExecuteAffrowsAsync()
        {
            var sql = this.ToSql();

            if (string.IsNullOrEmpty(sql))
            {
                return(0);
            }

            var before = new CurdBeforeEventArgs(_pgsqlInsert.InternalTable.Type, _pgsqlInsert.InternalTable, CurdType.Insert, sql, _pgsqlInsert.InternalParams);

            _pgsqlInsert.InternalOrm.Aop.CurdBefore?.Invoke(_pgsqlInsert, before);
            long      ret       = 0;
            Exception exception = null;

            try
            {
                ret = await _pgsqlInsert.InternalOrm.Ado.ExecuteNonQueryAsync(_pgsqlInsert.InternalConnection, _pgsqlInsert.InternalTransaction, CommandType.Text, sql, _pgsqlInsert.InternalParams);
            }
            catch (Exception ex)
            {
                exception = ex;
                throw ex;
            }
            finally
            {
                var after = new CurdAfterEventArgs(before, exception, ret);
                _pgsqlInsert.InternalOrm.Aop.CurdAfter?.Invoke(_pgsqlInsert, after);
                ClearData();
            }
            return(ret);
        }
Esempio n. 3
0
        public long ExecuteAffrows()
        {
            var sql = this.ToSql();

            if (string.IsNullOrEmpty(sql))
            {
                return(0);
            }

            var before = new CurdBeforeEventArgs(_mysqlInsert.InternalTable.Type, _mysqlInsert.InternalTable, CurdType.Insert, sql, _mysqlInsert.InternalParams);

            _mysqlInsert.InternalOrm.Aop.CurdBeforeHandler?.Invoke(_mysqlInsert, before);
            long      ret       = 0;
            Exception exception = null;

            try
            {
                ret = _mysqlInsert.InternalOrm.Ado.ExecuteNonQuery(_mysqlInsert.InternalConnection, _mysqlInsert.InternalTransaction, CommandType.Text, sql, _mysqlInsert._commandTimeout, _mysqlInsert.InternalParams);
            }
            catch (Exception ex)
            {
                exception = ex;
                throw;
            }
            finally
            {
                var after = new CurdAfterEventArgs(before, exception, ret);
                _mysqlInsert.InternalOrm.Aop.CurdAfterHandler?.Invoke(_mysqlInsert, after);
                ClearData();
            }
            return(ret);
        }
Esempio n. 4
0
 private void Aop_CurdBefore(object sender, CurdBeforeEventArgs e)
 {
     if (e.DbParms.Length == 0)
     {
         _log.Debug($"SQL 语句\r\n{e.Sql}\r\n");
     }
     else
     {
         _log.Debug($"SQL 语句\r\n{e.Sql}\r\n参数:\r\n - {string.Join("\r\n - ", e.DbParms.Where(pm => pm != null).Select(pm => $"{pm.ParameterName}: {pm.Value}"))}\r\n");
     }
 }
 private static void InternalExecutingOpt(
     CurdBeforeEventArgs args,
     Action <CurdBeforeEventArgs> executingAct = null)
 {
     executingAct?.Invoke(args);
 }
Esempio n. 6
0
 /// <summary>
 /// Curd前事件
 /// </summary>
 /// <param name="s"></param>
 /// <param name="e"></param>
 private void CurdBefore(object s, CurdBeforeEventArgs e)
 {
     Console.WriteLine($"{e.Sql}\r\n");
 }
Esempio n. 7
0
        public void CurdBefore([Object] CurdBeforeEventArgs eventData)
        {
            var context = CreateFreeSqlLocalSegmentContext(eventData.CurdType.ToString());

            context.Span.AddTag(Common.Tags.DB_STATEMENT, eventData.Sql);
        }