public async Task<PostgreSqlTransactionalDataSource> BeginTransactionAsync(IsolationLevel? isolationLevel = null, bool forwardEvents = true) { var connection = await CreateConnectionAsync(); NpgsqlTransaction transaction; if (isolationLevel.HasValue) transaction = connection.BeginTransaction(isolationLevel.Value); else transaction = connection.BeginTransaction(); return new PostgreSqlTransactionalDataSource(this, forwardEvents, connection, transaction); }