private DbCommand PrepareCommandAsync(CommandType cmdType, string cmdText, DbParameter[] cmdParms, StringBuilder logtxt) { DateTime dt = DateTime.Now; DbCommand cmd = CreateCommand(); cmd.CommandType = cmdType; cmd.CommandText = cmdText; if (cmdParms != null) { foreach (var parm in cmdParms) { if (parm == null) { continue; } if (parm.Value == null) { parm.Value = DBNull.Value; } cmd.Parameters.Add(parm); } } if (IsTracePerformance) { logtxt.Append(" PrepareCommand_tran==null: ").Append(DateTime.Now.Subtract(dt).TotalMilliseconds).Append("ms cmdParms: ").Append(cmd.Parameters.Count).Append("\r\n"); } AopCommandExecuting?.Invoke(cmd); return(cmd); }
private (DbTransaction tran, DbCommand cmd) PrepareCommand(CommandType cmdType, string cmdText, DbParameter[] cmdParms, StringBuilder logtxt) { var dt = DateTime.Now; DbCommand cmd = CreateCommand(); cmd.CommandType = cmdType; cmd.CommandText = cmdText; if (cmdParms != null) { foreach (var parm in cmdParms) { if (parm == null) { continue; } if (parm.Value == null) { parm.Value = DBNull.Value; } cmd.Parameters.Add(parm); } } var tran = TransactionCurrentThread; if (IsTracePerformance) { logtxt.Append(" PrepareCommand_part1: ").Append(DateTime.Now.Subtract(dt).TotalMilliseconds).Append("ms cmdParms: ").Append(cmd.Parameters.Count).Append("\r\n"); } if (tran != null) { if (IsTracePerformance) { dt = DateTime.Now; } cmd.Connection = tran.Connection; cmd.Transaction = tran; if (IsTracePerformance) { logtxt.Append(" PrepareCommand_tran!=null: ").Append(DateTime.Now.Subtract(dt).TotalMilliseconds).Append("ms\r\n"); } } if (IsTracePerformance) { dt = DateTime.Now; } AutoCommitTransaction(); if (IsTracePerformance) { logtxt.Append(" AutoCommitTransaction: ").Append(DateTime.Now.Subtract(dt).TotalMilliseconds).Append("ms\r\n"); } AopCommandExecuting?.Invoke(cmd); return(tran, cmd); }