protected virtual Expression VisitSelect(SelectExpression node) { Append("SELECT"); if (node.Top != null) { Append("TOP "); Visit(node.Top); } Visit(node.Selection); Append("FROM"); Visit(node.From); if (node.Where != null) { Append("WHERE"); Visit(node.Where); } Visit(node.OrderBy); return node; }