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);
        }
Exemple #2
0
        /// <summary>
        /// Queries the specified index using Linq.
        /// </summary>
        /// <typeparam name="T">The result of the query</typeparam>
        /// <param name="indexName">Name of the index.</param>
        /// <param name="isMapReduce">Whatever we are querying a map/reduce index (modify how we treat identifier properties)</param>
        public IRavenQueryable <T> Query <T>(string indexName, bool isMapReduce = false)
        {
            var ravenQueryStatistics = new RavenQueryStatistics();
            var highlightings        = new RavenQueryHighlightings();
            var ravenQueryProvider   = new RavenQueryProvider <T>(this, indexName, ravenQueryStatistics, highlightings, DatabaseCommands, null, isMapReduce);
            var inspector            = new RavenQueryInspector <T>();

            inspector.Init(ravenQueryProvider, ravenQueryStatistics, highlightings, indexName, null, this, DatabaseCommands, null, isMapReduce);
            return(inspector);
        }
        private IRavenQueryable <T> QueryInternal <T>(IAsyncDatabaseCommands assyncDatabaseCommands, string indexName, bool isMapReduce = false)
        {
            var ravenQueryStatistics = new RavenQueryStatistics();
            var highlightings        = new RavenQueryHighlightings();
            var ravenQueryInspector  = new RavenQueryInspector <T>();
            var ravenQueryProvider   = new RavenQueryProvider <T>(this, indexName, ravenQueryStatistics, highlightings, null, assyncDatabaseCommands, isMapReduce);

            ravenQueryInspector.Init(ravenQueryProvider,
                                     ravenQueryStatistics,
                                     highlightings,
                                     indexName,
                                     null,
                                     this, null, assyncDatabaseCommands, isMapReduce);
            return(ravenQueryInspector);
        }