public async Task <DbConnection> OpenConnection(string connectionString, Func <Task <string> > getAccessToken)
        {
            if (string.IsNullOrEmpty(connectionString))
            {
                throw new ArgumentNullException(nameof(connectionString));
            }
            DbConnection connection = InnerFactory.CreateConnection();

            connection.ConnectionString = connectionString;
            await this.SetAccessToken(connection, getAccessToken);

            await connection.OpenAsync();

            return(connection);
        }
 /// <inheritdoc/>
 public override DbConnection CreateConnection()
 {
     return(new DbConnectionWrapper(InnerFactory.CreateConnection()));
 }