Grunden til, at operationerne udføres (dvs. data blev stadig indsat efter afbrydelse), fordi operationerne ikke er indeholdt i en transaktionssession.
Alle CRUD-operationer skal have en overbelastet metode, der specificerer IClientSessionHandle
som sit første argument. For eksempel:
Task InsertOneAsync(IClientSessionHandle session, TDocument document, InsertOneOptions options = null, CancellationToken cancellationToken = default(CancellationToken));
Se:InsertOneAsync og ReplaceOneAsync i MongoDB .NET/C# driver v2.8.1.
For at sikre, at operationerne er indeholdt i transaktionssessionen, skal du videregive sessionen som et argument til CRUD-operationerne. Alle handlinger, der ikke har sessionsobjektet, vil blive udført uden for sessionen.