public Expression Translate(InMemoryQueryExpression queryExpression, Expression expression) { _queryExpression = queryExpression; _clientEval = false; _projectionMembers.Push(new ProjectionMember()); var result = Visit(expression); if (result == null) { _clientEval = true; result = Visit(expression); _projectionMapping.Clear(); } _queryExpression.ReplaceProjectionMapping(_projectionMapping); _queryExpression = null; _projectionMapping.Clear(); _projectionMembers.Clear(); return(result); }
public InMemoryShapedQueryExpression(IEntityType entityType) { QueryExpression = new InMemoryQueryExpression(entityType); ShaperExpression = new EntityShaperExpression( entityType, new ProjectionBindingExpression(new ProjectionMember(), typeof(ValueBuffer)), false); }
public Expression Translate(InMemoryQueryExpression inMemoryQueryExpression, Expression expression) { _inMemoryQueryExpression = inMemoryQueryExpression; try { return(Visit(expression)); } finally { _inMemoryQueryExpression = null; } }
public InMemoryShapedQueryExpression(IEntityType entityType) { QueryExpression = new InMemoryQueryExpression(entityType); var resultParameter = Parameter(typeof(InMemoryQueryExpression), "result"); ShaperExpression = Lambda(new EntityShaperExpression( entityType, new ProjectionBindingExpression( QueryExpression, new ProjectionMember(), typeof(ValueBuffer)), false), resultParameter); }
protected override ShapedQueryExpression CreateShapedQueryExpression(Type elementType) { var entityType = _model.FindEntityType(elementType); var queryExpression = new InMemoryQueryExpression(entityType); return(new ShapedQueryExpression( queryExpression, new EntityShaperExpression( entityType, new ProjectionBindingExpression( queryExpression, new ProjectionMember(), typeof(ValueBuffer)), false))); }
public Expression Translate(InMemoryQueryExpression queryExpression, Expression expression) { _queryExpression = queryExpression; _projectionMembers.Push(new ProjectionMember()); var result = Visit(expression); _queryExpression.ApplyProjection(_projectionMapping); _queryExpression = null; _projectionMapping.Clear(); _projectionMembers.Clear(); return(result); }
public InMemoryProjectionBindingRemovingExpressionVisitor(InMemoryQueryExpression queryExpression) { _queryExpression = queryExpression; }
private Expression TranslateExpression( InMemoryQueryExpression inMemoryQueryExpression, Expression expression) { return(_expressionTranslator.Translate(inMemoryQueryExpression, expression)); }