/// <summary> /// Gets the lucene query. /// </summary> /// <value>The lucene query.</value> public IAsyncDocumentQuery <T> GetAsyncLuceneQueryFor(Expression expression) { var asyncLuceneQuery = queryGenerator.AsyncQuery <T>(indexName); luceneQuery = (IAbstractDocumentQuery <T>)asyncLuceneQuery; VisitExpression(expression); if (customizeQuery != null) { customizeQuery((IDocumentQueryCustomization)asyncLuceneQuery); } return(asyncLuceneQuery); }
/// <summary> /// Executes the specified expression. /// </summary> /// <param name="expression">The expression.</param> /// <returns></returns> public object Execute(Expression expression) { chainedWhere = false; luceneQuery = (IAbstractDocumentQuery <T>)GetLuceneQueryFor(expression); if (newExpressionType == typeof(T)) { return(ExecuteQuery <T>()); } var genericExecuteQuery = typeof(RavenQueryProviderProcessor <T>).GetMethod("ExecuteQuery", BindingFlags.Instance | BindingFlags.NonPublic); var executeQueryWithProjectionType = genericExecuteQuery.MakeGenericMethod(newExpressionType); return(executeQueryWithProjectionType.Invoke(this, new object[0])); }
/// <summary> /// Gets the lucene query. /// </summary> /// <value>The lucene query.</value> public IDocumentQuery <T> GetLuceneQueryFor(Expression expression) { var q = queryGenerator.Query <T>(indexName); luceneQuery = (IAbstractDocumentQuery <T>)q; VisitExpression(expression); if (customizeQuery != null) { customizeQuery((IDocumentQueryCustomization)luceneQuery); } return(q); }
internal Parameters(MethodCallExpression expression, IAbstractDocumentQuery <T> documentQuery, Action <Expression> visitExpression) { Expression = expression; DocumentQuery = documentQuery; VisitExpression = visitExpression; }
internal TimeSeriesQueryVisitor(IAbstractDocumentQuery <T> documentQuery, LinqPathProvider linqPathProvider) { _documentQuery = documentQuery; _linqPathProvider = linqPathProvider; }
public TimeSeriesWhereClauseVisitor(string alias, IAbstractDocumentQuery <T> documentQuery) { _alias = alias; _documentQuery = documentQuery; }
public TimeSeriesQueryBuilder(IAbstractDocumentQuery <TEntity> abstractDocumentQuery, LinqPathProvider linqPathProvider) { _documentQuery = abstractDocumentQuery; _linqPathProvider = linqPathProvider; }
public FilterFactory(IAbstractDocumentQuery <T> documentQuery, int filterLimit = int.MaxValue) { _documentQuery = documentQuery; SetFilterLimit(filterLimit); }