/// <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);
        }