DbExpressions.DbExpressionVisitor.Visit C# (CSharp) Method

Visit() public method

Visits each node of the DbExpression tree and rewrites the tree if any changes has been made to any of the child nodes.
public Visit ( DbExpression dbExpression ) : DbExpression
dbExpression DbExpression The to visit.
return DbExpression
        public virtual DbExpression Visit(DbExpression dbExpression)
        {
            if (dbExpression.IsNull())
                return dbExpression;
            var expressionType = dbExpression.ExpressionType;
            switch (expressionType)
            {
                case DbExpressionType.Function:
                    return VisitFunctionExpression((DbFunctionExpression)dbExpression);
                case DbExpressionType.Select:
                    return VisitSelectExpression((DbSelectExpression)dbExpression);
                case DbExpressionType.Update:
                    return VisitUpdateExpression((DbUpdateExpression)dbExpression);
                case DbExpressionType.Insert:
                    return VisitInsertExpression((DbInsertExpression)dbExpression);
                case DbExpressionType.Delete:
                    return VisitDeleteExpression((DbDeleteExpression)dbExpression);
                case DbExpressionType.Column:
                    return VisitColumnExpression((DbColumnExpression)dbExpression);
                case DbExpressionType.Table:
                    return VisitTableExpression((DbTableExpression)dbExpression);
                case DbExpressionType.Binary:
                    return VisitBinaryExpression((DbBinaryExpression)dbExpression);
                case DbExpressionType.Constant:
                    return VisitConstantExpression((DbConstantExpression)dbExpression);
                case DbExpressionType.Alias:
                    return VisitAliasExpression((DbAliasExpression)dbExpression);
                case DbExpressionType.Concat:
                    return VisitConcatExpression((DbConcatExpression)dbExpression);
                case DbExpressionType.Conditional:
                    return VisitConditionalExpression((DbConditionalExpression)dbExpression);
                case DbExpressionType.Exists:
                    return VisitExistsExpression((DbExistsExpression)dbExpression);
                case DbExpressionType.List:
                    return VisitListExpression((DbListExpression)dbExpression);
                case DbExpressionType.Batch:
                    return VisitBatchExpression((DbBatchExpression)dbExpression);
                case DbExpressionType.In:
                    return VisitInExpression((DbInExpression)dbExpression);
                case DbExpressionType.Query:
                    return VisitQueryExpression((DbQuery)dbExpression);
                case DbExpressionType.Join:
                    return VisitJoinExpression((DbJoinExpression)dbExpression);
                case DbExpressionType.Unary:
                    return VisitUnaryExpression((DbUnaryExpression)dbExpression);
                case DbExpressionType.OrderBy:
                    return VisitOrderByExpression((DbOrderByExpression)dbExpression);
                case DbExpressionType.Prefix:
                    return VisitPrefixExpression((DbPrefixExpression)dbExpression);
                case DbExpressionType.Sql:
                    return VisitSqlExpression((DbSqlExpression)dbExpression);
            }
            throw new ArgumentOutOfRangeException(
                "dbExpression",
                string.Format("The expression type '{0}' is not supported", dbExpression.ExpressionType));
        }