Jag har aldrig använt MongoDB; vet inget om det. Jag svarar bara i termer av TransactionScope
; så inte säker på om detta kommer att hjälpa dig.
Se Magic Of TransactionScope . IMO, det finns tre faktorer du bör leta efter:
-
Anslutning till databasen bör öppnas inuti
TransactionScope
.Inte säker men det ser ut som att du kan anropa manuellt anslutningen öppnades utanför räckvidden med
connection.EnlistTransaction(Transaction.Current)
.När du tittar på din kommentar och redigeringen är detta inget problem.
-
Alla operationer bör köras på samma tråd.
och
Så alla operationer bör köras på samma tråd.
-
Spela med
TransactionScopeOption
(skicka det till konstruktören avTransactionScope
) värden enligt ditt behov.Jag är inte säker på vad din kod förväntas göra. Du kan leka med dessa uppräkningsvärden.
Som du nämnde i kommentaren använder du async/await
.
För MongoDB, se om detta hjälper dig.