Exemplo n.º 1
0
        IQueryExpression ISqlExpressionWalkable.Walk(bool skipColumns, Func <IQueryExpression, IQueryExpression> func)
        {
            Insert?.Walk(skipColumns, func);
            Update?.Walk(skipColumns, func);
            Delete?.Walk(skipColumns, func);

            Select.Walk(skipColumns, func);
            From.Walk(skipColumns, func);
            Where.Walk(skipColumns, func);
            GroupBy.Walk(skipColumns, func);
            Having.Walk(skipColumns, func);
            OrderBy.Walk(skipColumns, func);

            if (HasUnion)
            {
                foreach (var union in Unions)
                {
                    union.SelectQuery.Walk(skipColumns, func);
                }
            }

            return(func(this));
        }