protected override Expression VisitFunctionCall(FunctionCallExpression expression)
            {
                if (expression.IsAggregate(queryContext))
                    aggregateFound = true;

                return base.VisitFunctionCall(expression);
            }
            protected override Expression VisitFunctionCall(FunctionCallExpression expression)
            {
                if (expression.IsAggregate(queryContext))
                {
                    aggregateFound = true;
                }

                return(base.VisitFunctionCall(expression));
            }
        protected virtual Expression VisitFunctionCall(FunctionCallExpression expression)
        {
            Expression obj = Visit(expression.Object);

            IEnumerable <Expression> args = VisitExpressionList(expression.Arguments.ToList().AsReadOnly());

            if (obj != expression.Object || args != expression.Arguments)
            {
                return(Expression.FunctionCall(obj, expression.FunctionName, args));
            }

            return(expression);
        }
 protected override Expression VisitFunctionCall(FunctionCallExpression expression)
 {
     // TODO:
     return base.VisitFunctionCall(expression);
 }
 protected override Expression VisitFunctionCall(FunctionCallExpression expression)
 {
     // TODO:
     return(base.VisitFunctionCall(expression));
 }
        protected virtual Expression VisitFunctionCall(FunctionCallExpression expression)
        {
            Expression obj = Visit(expression.Object);

            IEnumerable<Expression> args = VisitExpressionList(expression.Arguments.ToList().AsReadOnly());
            if (obj != expression.Object || args != expression.Arguments) {
                return Expression.FunctionCall(obj, expression.FunctionName, args);
            }

            return expression;
        }