protected override Expression VisitSubQueryExpression(SubQueryExpression expression) { if (!HandleJoin && !HandleLet) { ModelVisitor.QueryText.Append(" ( "); } var visitor = new AqlModelVisitor(ModelVisitor.Db); if (HandleLet) { visitor.DefaultAssociatedIdentifier = QueryModel.MainFromClause.ItemName; } visitor.QueryText = this.ModelVisitor.QueryText; visitor.ParnetModelVisitor = this.ModelVisitor; visitor.IgnoreFromClause = HandleLet; visitor.VisitQueryModel(expression.QueryModel); if (!HandleJoin && !HandleLet) { ModelVisitor.QueryText.Append(" ) "); } return(expression); }
ICursor <T> GetCursor <T>(QueryModel queryModel) { var visitor = new AqlModelVisitor(db); visitor.VisitQueryModel(queryModel); visitor.QueryData.Query = visitor.QueryText.ToString(); return(db.CreateStatement <T>(visitor.QueryData.Query, bindVars: visitor.QueryData.BindVars)); }
public QueryData GetQueryData(Expression expression) { CheckNotNull("expression", expression); var queryModel = GenerateQueryModel(expression); var visitor = new AqlModelVisitor(db); visitor.VisitQueryModel(queryModel); visitor.QueryData.Query = visitor.QueryText.ToString(); return(visitor.QueryData); }