/// <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"); } }
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); }
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); }
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); }
/// <summary> /// Curd前事件 /// </summary> /// <param name="s"></param> /// <param name="e"></param> private void CurdBefore(object s, CurdBeforeEventArgs e) { Console.WriteLine($"{e.Sql}\r\n"); }
public void CurdBefore([Object] CurdBeforeEventArgs eventData) { var context = CreateFreeSqlLocalSegmentContext(eventData.CurdType.ToString()); context.Span.AddTag(Common.Tags.DB_STATEMENT, eventData.Sql); }