public async Task TestGetWithBusinessLayer()
        {
            await CreateOrdersDb();

            SqLiteBootstrap.Initialize();

            await using var connection = new SQLiteConnection(OrdersDbContext.ConnectionString);
            var repoDbDataLayer = new RepoDbDataLayer(connection);

            var businessLayer = new BusinessLayer(
                whereAsync: repoDbDataLayer.WhereAsync,
                beforeGet: (t, e) =>
            {
                _customBefore = true;
                return(Task.FromResult(true));
            },
                afterGet: (t, result) =>
            {
                _customAfter = true;
                return(Task.FromResult(true));
            });

            WhereAsync whereAsync = businessLayer.WhereAsync;

            var asyncEnumerable = await whereAsync
                                  .GetAsync <OrderRecord>(o => o.Id == _id);


            var returnValue = await asyncEnumerable.ToListAsync();

            Assert.AreEqual(1, returnValue.Count);
            Assert.IsTrue(_customBefore && _customAfter);
        }
        public async Task TestGetRepoDb()
        {
            await CreateOrdersDb();

            SqLiteBootstrap.Initialize();

            await using var connection = new SQLiteConnection(OrdersDbContext.ConnectionString);
            var repoDbDataLayer = new RepoDbDataLayer(connection);
            var asyncEnumerable = await repoDbDataLayer.WhereAsync((Expression <Func <OrderRecord, bool> >) _getOrderByIdPredicate);


            var returnValue = await asyncEnumerable.ToListAsync();

            Assert.AreEqual(1, returnValue.Count);
        }