MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Repository-Muster mit MongoDB – mehrere Arbeitseinheiten mit einer Transaktion

Ich habe MongoDB nie verwendet; weiß nichts darüber. Ich antworte nur in Bezug auf TransactionScope; also bin ich mir nicht sicher, ob dir das weiterhilft.

Bitte beziehen Sie sich auf Magic Of TransactionScope . Meiner Meinung nach gibt es drei Faktoren, auf die Sie achten sollten:

  1. Die Verbindung zur Datenbank sollte innerhalb geöffnet werden der TransactionScope .

    Nicht sicher, aber es sieht so aus, als ob Sie manuell eintragen können Die Verbindung wurde außerhalb des Geltungsbereichs mit connection.EnlistTransaction(Transaction.Current) geöffnet .

    Wenn Sie sich Ihren Kommentar und die Bearbeitung ansehen, ist dies kein Problem.

  2. Alle Operationen sollten auf demselben Thread ausgeführt werden.

    und

    Daher sollten alle Operationen auf demselben Thread ausgeführt werden.

  3. Spielen Sie mit TransactionScopeOption (übergeben Sie es an den Konstruktor von TransactionScope ) Werte nach Bedarf.

    Ich bin mir nicht sicher, was Ihr Code erwartet hat. Sie können mit diesen Aufzählungswerten spielen.

Wie Sie im Kommentar erwähnt haben, verwenden Sie async/await .

Für MongoDB siehe dies hilft Ihnen.