private bool CanJoinOnClient(SelectExpression select) { return((((this.canJoinOnClient && (this.currentMember != null)) && (!this.policy.IsDeferLoaded(this.currentMember) && !select.IsDistinct)) && ((select.GroupBy == null) || (select.GroupBy.Count == 0))) && !AggregateChecker.HasAggregates(select)); }
public ProjectionExpression(SelectExpression source, Expression projector, LambdaExpression aggregator) : base(DbExpressionType.Projection, (aggregator != null) ? aggregator.Body.Type : typeof(IEnumerable <>).MakeGenericType(new Type[] { projector.Type })) { this.select = source; this.projector = projector; this.aggregator = aggregator; }
public DeclarationCommand(IEnumerable <VariableDeclaration> variables, SelectExpression source) : base(DbExpressionType.Declaration, typeof(void)) { this.variables = variables.ToReadOnly <VariableDeclaration>(); this.source = source; }
public ProjectionExpression(SelectExpression source, Expression projector) : this(source, projector, null) { }
public static HashSet <ColumnExpression> Gather(HashSet <TableAlias> aliases, SelectExpression select) { QueryLanguage.JoinColumnGatherer gatherer = new QueryLanguage.JoinColumnGatherer(aliases); gatherer.Gather(select.Where); return(gatherer.columns); }
protected SubqueryExpression(DbExpressionType eType, Type type, SelectExpression select) : base(eType, type) { Debug.Assert(((eType == DbExpressionType.Scalar) || (eType == DbExpressionType.Exists)) || (eType == DbExpressionType.In)); this.select = select; }
protected override Expression VisitProjection(ProjectionExpression proj) { SelectExpression select = (SelectExpression)this.Visit(proj.Select); return(base.UpdateProjection(proj, select, proj.Projector, proj.Aggregator)); }
public InExpression(System.Linq.Expressions.Expression expression, SelectExpression select) : base(DbExpressionType.In, typeof(bool), select) { this.expression = expression; }