protected override DbCommand CreateCommand(IQueryable queryable)
        {
            var command = Connection.CreateCommand();

            command.CommandText = queryable.ToString();

            var copiedParameters = parameters.Select(parameter =>
            {
                var parameterCopy           = command.CreateParameter();
                parameterCopy.ParameterName = parameter.Name;
                parameterCopy.Value         = parameter.Value;
                return(parameterCopy);
            }).ToArray();

            command.Parameters.AddRange(copiedParameters);

            return(command);
        }