Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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]));
        }
Esempio n. 3
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);
        }
Esempio n. 4
0
 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;
 }
Esempio n. 6
0
 public TimeSeriesWhereClauseVisitor(string alias, IAbstractDocumentQuery <T> documentQuery)
 {
     _alias         = alias;
     _documentQuery = documentQuery;
 }
 public TimeSeriesQueryBuilder(IAbstractDocumentQuery <TEntity> abstractDocumentQuery, LinqPathProvider linqPathProvider)
 {
     _documentQuery    = abstractDocumentQuery;
     _linqPathProvider = linqPathProvider;
 }
Esempio n. 8
0
 public FilterFactory(IAbstractDocumentQuery <T> documentQuery, int filterLimit = int.MaxValue)
 {
     _documentQuery = documentQuery;
     SetFilterLimit(filterLimit);
 }