public async Task <IDatasourceConnection> GetConnectionAsync() { LocalTransaction tx = LocalTransaction.Current; if (tx != null) { return(await tx.BeginOrJoinTransactionAsync(_underlying)); } return(await _underlying.GetConnectionAsync()); }