示例#1
0
        /*
         * TODO: Not sure if this should be implemented
         * /// <summary>
         * /// Execute query and returns resultset as generic BsonDataReader
         * /// </summary>
         * public IBsonDataReader ExecuteReader()
         * {
         *  _query.ExplainPlan = false;
         *
         *  return _engine.Query(_collection, _query);
         * }
         */

        /// <summary>
        /// Execute query and return resultset as IEnumerable of documents
        /// </summary>
        public Task <IEnumerable <BsonDocument> > ToDocumentsAsync()
        {
            var tcs = new TaskCompletionSource <IEnumerable <BsonDocument> >();

            _liteDatabaseAsync.Enqueue(tcs, () => {
                tcs.SetResult(_wrappedQuery.ToDocuments());
            });
            return(tcs.Task);
        }
        /*
         * TODO: Not sure if this should be implemented
         * /// <summary>
         * /// Execute query and returns resultset as generic BsonDataReader
         * /// </summary>
         * public IBsonDataReader ExecuteReader()
         * {
         *  _query.ExplainPlan = false;
         *
         *  return _engine.Query(_collection, _query);
         * }
         */

        /// <summary>
        /// Execute query and return resultset as IEnumerable of documents
        /// </summary>
        public Task <IEnumerable <BsonDocument> > ToDocumentsAsync()
        {
            return(_liteDatabaseAsync.EnqueueAsync(
                       () => _wrappedQuery.ToDocuments()));
        }