Exemplo n.º 1
0
        public async System.Threading.Tasks.Task CheckAsyncIEnumerable()
        {
            await using var sw = new MsSqlWorker(ConnectionString);

            await using var tran = await sw.TransactionBeginAsync();

            var n = 1;

            await foreach (var x in sw.QueryAsync(
                               @"select number, square, sqrt, is_prime from dbo.numbers n",
                               dr => new {
                number = (int)dr[0],
                square = (long)dr[1],
                sqrt = (double)dr[2],
                is_prime = (bool)dr[3],
            },
                               transaction: tran
                               ))
            {
                Assert.AreEqual(x.number, n);
                ++n;
            }
        }
Exemplo n.º 2
0
        public async System.Threading.Tasks.Task MultipleAsyncEnumeration()
        {
            await using var sw = new MsSqlWorker(ConnectionString);

            var enumeration = sw.QueryAsync(
                @"select number, square, sqrt, is_prime from dbo.numbers n where n.number < @maxNumber",
                dr => new {
                i      = (int)dr[0],
                square = (long)dr[1],
            },
                new SwParameters
            {
                { "maxNumber", 10 },
            }
                );

            for (var i = 1; i <= 2; ++i)
            {
                await foreach (var x in enumeration)
                {
                    Assert.AreEqual(x.square, x.i * x.i);
                }
            }
        }