protected internal override Expression VisitSubQuery(SubQueryExpression expression) { if (!HandleJoin && !HandleLet) { ModelVisitor.QueryText.Append(" ( "); } var visitor = new ArangoModelVisitor(ModelVisitor.Db); if (HandleLet) { visitor.DefaultAssociatedIdentifier = QueryModel.MainFromClause.ItemName; } visitor.QueryText = ModelVisitor.QueryText; visitor.ParnetModelVisitor = ModelVisitor; visitor.IgnoreFromClause = HandleLet; visitor.VisitQueryModel(expression.QueryModel); if (!HandleJoin && !HandleLet) { ModelVisitor.QueryText.Append(" ) "); } return(expression); }
public IEnumerable <T> ExecuteCollection <T>(QueryModel queryModel) { var visitor = new ArangoModelVisitor(db); visitor.VisitQueryModel(queryModel); visitor.QueryData.Query = visitor.QueryText.ToString(); return(db.ExecuteAsync <T>(visitor.QueryData.Query, visitor.QueryData.BindVars).Result.AsEnumerable()); }
public QueryData GetQueryData(Expression expression) { LinqUtility.CheckNotNull("expression", expression); var queryModel = GenerateQueryModel(expression); var visitor = new ArangoModelVisitor(db); visitor.VisitQueryModel(queryModel); visitor.QueryData.Query = visitor.QueryText.ToString(); return(visitor.QueryData); }