Der er ikke noget magisk her, du får fejlen, fordi den forbindelse, du bruger, når du indsætter CompanyAddress, ikke er den, du tror, den er.
Det er en ny forbindelse. Når ComapnyPaymentInfo-indsættelsen er kørt, bruger du den forbindelse, der allerede er knyttet til din transaktion. Det afventer nye kommandoer, fordi du har ventet i det forrige trin.
Brugen af Task.WhenAll() vil på den anden side forsøge at bruge flere tråde. Hvis en forbindelse er optaget af at køre en kommando, vil den ikke blive brugt, og en ny vil blive oprettet.
Husk, at når du bruger Transaktioner, har du kun én tilgængelig forbindelse, du kan ikke drage fordel af parallelitet.