/// <summary> /// Executes the non query. /// </summary> /// <param name="conn">The conn.</param> /// <param name="transaction">The transaction.</param> /// <param name="sql">The SQL.</param> /// <param name="parameters">The parameters.</param> /// <returns></returns> public int ExecuteNonQuery(DbConnection conn, ITransaction transaction, string sql, params QueryParam[] parameters) { using (DbCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; cmd.Connection = conn; if (CommandTimeout != null) { cmd.CommandTimeout = CommandTimeout.Value; } if (parameters != null) { for (int i = 0; i < parameters.Length; i++) { var dbParam = dbConnector.CreateParameter(parameters[i].Name, parameters[i].Value, parameters[i].PropertyDbType); cmd.Parameters.Add(dbParam); } } transaction?.Enlist(cmd); logger.Log(LogLevel.Debug, sql); return(cmd.ExecuteNonQuery()); } }