/// <summary> /// Adds the parameter to the command.. /// </summary> /// <param name="command">The command.</param> /// <param name="name">The name.</param> /// <param name="value">The value.</param> /// <returns>The data command.</returns> /// <exception cref="ArgumentNullException">command.</exception> public static IDataCommand AddParameter(this IDataCommand command, string name, object value) { if (command is null) { throw new ArgumentNullException(nameof(command)); } var p = command.CreateParameter(); p.ParameterName = name; p.Value = value; command.Add(p); return(command); }
internal static IDataCommand ApplyParameters( this IDataCommand cmd, ISqlBuilder query, IEnumerable <IDbDataParameter> parameters, char parameterPrefix = '@') { if (cmd is null) { throw new ArgumentNullException(nameof(cmd)); } if (query is null) { throw new ArgumentNullException(nameof(query)); } if (parameters != null) { bool replace = parameterPrefix != DefaultPrefix; foreach (var p in parameters) { if (replace && p.ParameterName[0] == DefaultPrefix) { var name = parameterPrefix + p.ParameterName.Substring(1); query.ToStringBuilder().Replace(p.ParameterName, name); p.ParameterName = name; } cmd.Add(p); } } cmd.Text = query.ToString(true); cmd.Type = CommandType.Text; return(cmd); }