public async Task <List <Tdb> > GetPagedResultsAsync(FilterDefinition <Tdb> primaryFilters, RepositoryPaging paging) { SetPaging(paging); FilterDefinition <Tdb> totalFilter = PreparePagingFilter(primaryFilters, paging); var countTask = Collection.CountDocumentsAsync(totalFilter); var sorting = SetSorting(paging); var findOptions = new FindOptions <Tdb, Tdb> { Sort = sorting }; var collection = await Collection.FindAsync(totalFilter, findOptions); var skip = (paging.CurrentPage - 1) * paging.PageSize; var result = collection.ToEnumerable().Skip(skip).Take(paging.PageSize).ToList(); paging.TotalItems = await countTask; return(result); }