Mongo.Context.MongoMetadata.PopulateMetadataFromCollection C# (CSharp) Method

PopulateMetadataFromCollection() private method

private PopulateMetadataFromCollection ( MongoContext context, string collectionName, System.Data.Services.Providers.ResourceSet resourceSet ) : void
context MongoContext
collectionName string
resourceSet System.Data.Services.Providers.ResourceSet
return void
        private void PopulateMetadataFromCollection(MongoContext context, string collectionName, ResourceSet resourceSet)
        {
            var collection = context.Database.GetCollection(collectionName);
            const string naturalSort = "$natural";
            var sortOrder = this.Configuration.FetchPosition == MongoConfiguration.FetchPosition.End
                                ? SortBy.Descending(naturalSort)
                                : SortBy.Ascending(naturalSort);
            var documents = collection.FindAll().SetSortOrder(sortOrder);

            int rowCount = 0;
            foreach (var document in documents)
            {
                if (resourceSet == null)
                {
                    resourceSet = AddResourceSet(context, collectionName, document);
                }
                else
                {
                    UpdateResourceSet(context, resourceSet, document);
                }

                ++rowCount;
                if (this.Configuration.PrefetchRows >= 0 && rowCount >= this.Configuration.PrefetchRows)
                    break;
            }
        }