protected override Expression VisitSelect(SelectExpression select) { if (select.DefaultFieldNames != null) { this.defaultFieldNames = select.DefaultFieldNames; } if (select.From != null) { this.VisitSource(select.From); } if (select.Where != null) { this.Visit(select.Where); } return select; }
internal ProjectionExpression(SelectExpression source, Expression projector) : base((ExpressionType)LuceneExpressionType.Projection, source.Type) { this._source = source; this._projector = projector; }
protected virtual Expression VisitSelect(SelectExpression select) { Expression from = this.VisitSource(select.From); Expression where = this.Visit(select.Where); ReadOnlyCollection<FieldDeclaration> fields = this.VisitFieldDeclarations(select.Fields); if (from != select.From || where != select.Where || fields != select.Fields) { return new SelectExpression(select.Type, select.Alias, fields, select.DefaultFieldNames, from, where); } return select; }