public void Build()
        {
            if (_hasBuilt)
            {
                throw new ApplicationException("Build() can only be executed once");
            }

            _hasBuilt = true;

            foreach (string parameterName in _parameterNames)
            {
                string innerParameterName = _engine.GetParameterName(parameterName);

                substituteDatabaseParameterName(parameterName, innerParameterName);

                IDataParameter innerParameter = _command.CreateParameter();
                innerParameter.ParameterName = innerParameterName;

                _command.Parameters.Add(innerParameter);
                _parameters.AddParameter(new Parameter(innerParameter, parameterName));
            }

            _command.CommandText = _commandTextBuilder.ToString();
            _command.CommandType = CommandType.Text;
        }
 public override void Initialize(IDatabaseEngine engine, IDbCommand command)
 {
     string innerParameterName = engine.GetParameterName(ParameterName);
     sqlSnippet = sqlSnippet.Replace(REPLACEMENT_VALUE, innerParameterName);
     _innerParameter = command.CreateParameter();
     _innerParameter.ParameterName = innerParameterName;
 }
        public override void Initialize(IDatabaseEngine engine, IDbCommand command)
        {
            string innerParameterName = engine.GetParameterName(ParameterName);

            sqlSnippet      = sqlSnippet.Replace(REPLACEMENT_VALUE, innerParameterName);
            _innerParameter = command.CreateParameter();
            _innerParameter.ParameterName = innerParameterName;
        }