public async Task FillAsyncDataSet()
        {
            using (var conn = new SqlConnection())
            {
                conn.ConnectionString = ConnectionString;
                await conn.OpenAsync();

                using (var c = conn.CreateCommand())
                {
                    c.CommandText = "GetFast";
                    c.CommandType = CommandType.StoredProcedure;
                    c.Parameters.Add("@Number", SqlDbType.Int).Value = 100000;

                    using (var a = new SqlDataAdapter(c))
                    {
                        var ds = new DataSet();
                        var r  = await a.FillAsync(ds);

                        Assert.AreEqual(1, ds.Tables.Count);
                        var dt = ds.Tables[0];

                        Assert.AreEqual(900000, r);
                        Assert.AreEqual(900000, dt.Rows.Count);

                        AssertDataTableContent(dt);
                    }
                }
            }
        }