public override DbExpression Visit(DbProjectExpression expression) { EntityUtil.CheckArgumentNull(expression, "expression"); DbExpression result = expression; DbExpressionBinding input = this.VisitExpressionBindingEnterScope(expression.Input); DbExpression projection = this.VisitExpression(expression.Projection); this.ExitScope(); if (!object.ReferenceEquals(expression.Input, input) || !object.ReferenceEquals(expression.Projection, projection)) { result = CqtBuilder.Project(input, projection); } NotifyIfChanged(expression, result); return(result); }