Anledningen till att operationerna exekveras (dvs. data infogades fortfarande efter avbrytning), eftersom operationerna inte ingår i en transaktionssession.
Alla CRUD-operationer bör ha en överbelastad metod som anger IClientSessionHandle
som dess första argument. Till exempel:
Task InsertOneAsync(IClientSessionHandle session, TDocument document, InsertOneOptions options = null, CancellationToken cancellationToken = default(CancellationToken));
Se:InsertOneAsync och ReplaceOneAsync i MongoDB .NET/C#-drivrutin v2.8.1.
För att säkerställa att operationerna finns i transaktionssessionen, skicka sessionen som ett argument till CRUD-operationerna. Alla operationer som inte har sessionsobjektet kommer att utföras utanför sessionen.