public IRavenQueryable <T> Query <T>(string indexName = null, string collectionName = null, bool isMapReduce = false) { var type = typeof(T); (indexName, collectionName) = ProcessQueryParameters(type, indexName, collectionName, Conventions); var queryStatistics = new QueryStatistics(); var highlightings = new LinqQueryHighlightings(); var ravenQueryInspector = new RavenQueryInspector <T>(); var ravenQueryProvider = new RavenQueryProvider <T>( this, indexName, collectionName, type, queryStatistics, highlightings, isMapReduce, Conventions); ravenQueryInspector.Init(ravenQueryProvider, queryStatistics, highlightings, indexName, collectionName, null, this, isMapReduce); return(ravenQueryInspector); }
/// <summary> /// Initializes a new instance of the <see cref="RavenQueryInspector{T}"/> class. /// </summary> public void Init( IRavenQueryProvider provider, QueryStatistics queryStats, LinqQueryHighlightings highlightings, string indexName, string collectionName, Expression expression, InMemoryDocumentSessionOperations session, bool isMapReduce) { _conventions = session.Conventions; _provider = provider?.For <T>() ?? throw new ArgumentNullException(nameof(provider)); _queryStats = queryStats; _highlightings = highlightings; _indexName = indexName; _collectionName = collectionName; _session = session; _isMapReduce = isMapReduce; _provider.AfterQueryExecuted(AfterQueryExecuted); _expression = expression ?? Expression.Constant(this); }