Exemple #1
0
        private static async Task PerformanceTest_ReadAllPagedWithRange <TEntity, TId>(ServiceProvider serviceProvider, IMapper mapper, int page, int pageSize)
            where TEntity : class, IEntity <TId>, new()
            where TId : IEquatable <TId>
        {
            var watch = new Stopwatch();

            watch.Start();

            var mongoContext = serviceProvider.GetService <Mongo.StoreContext>();

            var dbset = mongoContext.Set <TEntity, TId>();

            var pagedOptions = Paged.BuildNextRangeOptions <TEntity>(pageSize, nameof(IEntity <TId> .CreatedAt), DateTime.Now.AddYears(-5));
            var models       = await dbset.ToListAsync(pagedOptions);

            var amount = models.Count();
            var dtos   = models.Select(x => mapper.Map <EntityDTO>(x)).ToList();

            mongoContext.ClearContext();

            watch.Stop();
            var testName = "Read All Paged With Range";

            PerformanceTestResult <TEntity>(testName, amount, watch);
        }