Example #1
0
        private static async Task <List <Order>?> LoadOrders(string connectionString, StreamWriter?file)
        {
            var builder = new DbContextOptionsBuilder <BotDbContext>();

            builder.UseNpgsql(connectionString);

            var sqlCtx = new BotDbContext(builder.Options);

            var timer = Stopwatch.StartNew();
            //var ordersCount = 100;
            var ordersCount = 1_000_000;
            var orders      = await sqlCtx.QueryOrders().OrderByDescending(x => x.DateTime).Take(ordersCount).ToListAsync();

            file.WriteLine($"Loaded {orders.Count} orders ({timer.ElapsedMilliseconds} ms)");

            var minTime = orders.MinF(x => x.DateTime);
            var maxTime = orders.MaxF(x => x.DateTime);

            file.WriteLine($"Orders time approximately {minTime} - {maxTime}");
            return(orders);
        }