@@ -136,12 +136,10 @@ internal void ConfigureAutoEncryptionMessageEncoderSettings(MessageEncoderSettin
136
136
// public methods
137
137
/// <inheritdoc/>
138
138
public ClientBulkWriteResult BulkWrite ( IReadOnlyList < BulkWriteModel > models , ClientBulkWriteOptions options = null , CancellationToken cancellationToken = default )
139
- => _operationExecutor . ExecuteWriteOperation < ClientBulkWriteResult > (
140
- CreateClientBulkWriteOperation ( models , options ) ,
141
- _writeOperationOptions ,
142
- session : null ,
143
- allowChannelPinning : false ,
144
- cancellationToken : cancellationToken ) ;
139
+ {
140
+ using var session = _operationExecutor . StartImplicitSession ( ) ;
141
+ return BulkWrite ( session , models , options , cancellationToken ) ;
142
+ }
145
143
146
144
/// <inheritdoc/>
147
145
public ClientBulkWriteResult BulkWrite ( IClientSessionHandle session , IReadOnlyList < BulkWriteModel > models , ClientBulkWriteOptions options = null , CancellationToken cancellationToken = default )
@@ -153,13 +151,11 @@ public ClientBulkWriteResult BulkWrite(IClientSessionHandle session, IReadOnlyLi
153
151
cancellationToken : cancellationToken ) ;
154
152
155
153
/// <inheritdoc/>
156
- public Task < ClientBulkWriteResult > BulkWriteAsync ( IReadOnlyList < BulkWriteModel > models , ClientBulkWriteOptions options = null , CancellationToken cancellationToken = default )
157
- => _operationExecutor . ExecuteWriteOperationAsync < ClientBulkWriteResult > (
158
- CreateClientBulkWriteOperation ( models , options ) ,
159
- _writeOperationOptions ,
160
- session : null ,
161
- allowChannelPinning : false ,
162
- cancellationToken : cancellationToken ) ;
154
+ public async Task < ClientBulkWriteResult > BulkWriteAsync ( IReadOnlyList < BulkWriteModel > models , ClientBulkWriteOptions options = null , CancellationToken cancellationToken = default )
155
+ {
156
+ using var session = _operationExecutor . StartImplicitSession ( ) ;
157
+ return await BulkWriteAsync ( session , models , options , cancellationToken ) . ConfigureAwait ( false ) ;
158
+ }
163
159
164
160
/// <inheritdoc/>
165
161
public Task < ClientBulkWriteResult > BulkWriteAsync ( IClientSessionHandle session , IReadOnlyList < BulkWriteModel > models , ClientBulkWriteOptions options = null , CancellationToken cancellationToken = default )
@@ -202,12 +198,10 @@ public void Dispose(bool disposing)
202
198
203
199
/// <inheritdoc/>
204
200
public void DropDatabase ( string name , CancellationToken cancellationToken = default )
205
- => _operationExecutor . ExecuteWriteOperation (
206
- CreateDropDatabaseOperation ( name ) ,
207
- _writeOperationOptions ,
208
- session : null ,
209
- allowChannelPinning : false ,
210
- cancellationToken : cancellationToken ) ;
201
+ {
202
+ using var session = _operationExecutor . StartImplicitSession ( ) ;
203
+ DropDatabase ( session , name , cancellationToken ) ;
204
+ }
211
205
212
206
/// <inheritdoc/>
213
207
public void DropDatabase ( IClientSessionHandle session , string name , CancellationToken cancellationToken = default )
@@ -219,13 +213,11 @@ public void DropDatabase(IClientSessionHandle session, string name, Cancellation
219
213
cancellationToken : cancellationToken ) ;
220
214
221
215
/// <inheritdoc/>
222
- public Task DropDatabaseAsync ( string name , CancellationToken cancellationToken = default )
223
- => _operationExecutor . ExecuteWriteOperationAsync (
224
- CreateDropDatabaseOperation ( name ) ,
225
- _writeOperationOptions ,
226
- session : null ,
227
- allowChannelPinning : false ,
228
- cancellationToken : cancellationToken ) ;
216
+ public async Task DropDatabaseAsync ( string name , CancellationToken cancellationToken = default )
217
+ {
218
+ using var session = _operationExecutor . StartImplicitSession ( ) ;
219
+ await DropDatabaseAsync ( session , name , cancellationToken ) . ConfigureAwait ( false ) ;
220
+ }
229
221
230
222
/// <inheritdoc/>
231
223
public Task DropDatabaseAsync ( IClientSessionHandle session , string name , CancellationToken cancellationToken = default )
@@ -314,23 +306,19 @@ public async Task<IAsyncCursor<string>> ListDatabaseNamesAsync(
314
306
315
307
/// <inheritdoc/>
316
308
public IAsyncCursor < BsonDocument > ListDatabases ( CancellationToken cancellationToken )
317
- => _operationExecutor . ExecuteReadOperation (
318
- CreateListDatabaseOperation ( null ) ,
319
- _readOperationOptions ,
320
- session : null ,
321
- allowChannelPinning : false ,
322
- cancellationToken : cancellationToken ) ;
309
+ {
310
+ using var session = _operationExecutor . StartImplicitSession ( ) ;
311
+ return ListDatabases ( session , cancellationToken ) ;
312
+ }
323
313
324
314
/// <inheritdoc/>
325
315
public IAsyncCursor < BsonDocument > ListDatabases (
326
316
ListDatabasesOptions options ,
327
317
CancellationToken cancellationToken = default )
328
- => _operationExecutor . ExecuteReadOperation (
329
- CreateListDatabaseOperation ( options ) ,
330
- _readOperationOptions ,
331
- session : null ,
332
- allowChannelPinning : false ,
333
- cancellationToken : cancellationToken ) ;
318
+ {
319
+ using var session = _operationExecutor . StartImplicitSession ( ) ;
320
+ return ListDatabases ( session , options , cancellationToken ) ;
321
+ }
334
322
335
323
/// <inheritdoc/>
336
324
public IAsyncCursor < BsonDocument > ListDatabases (
@@ -356,24 +344,20 @@ public IAsyncCursor<BsonDocument> ListDatabases(
356
344
cancellationToken : cancellationToken ) ;
357
345
358
346
/// <inheritdoc/>
359
- public Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync ( CancellationToken cancellationToken = default )
360
- => _operationExecutor . ExecuteReadOperationAsync (
361
- CreateListDatabaseOperation ( null ) ,
362
- _readOperationOptions ,
363
- session : null ,
364
- allowChannelPinning : false ,
365
- cancellationToken : cancellationToken ) ;
347
+ public async Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync ( CancellationToken cancellationToken = default )
348
+ {
349
+ using var session = _operationExecutor . StartImplicitSession ( ) ;
350
+ return await ListDatabasesAsync ( session , cancellationToken ) . ConfigureAwait ( false ) ;
351
+ }
366
352
367
353
/// <inheritdoc/>
368
- public Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
354
+ public async Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
369
355
ListDatabasesOptions options ,
370
356
CancellationToken cancellationToken = default )
371
- => _operationExecutor . ExecuteReadOperationAsync (
372
- CreateListDatabaseOperation ( options ) ,
373
- _readOperationOptions ,
374
- session : null ,
375
- allowChannelPinning : false ,
376
- cancellationToken : cancellationToken ) ;
357
+ {
358
+ using var session = _operationExecutor . StartImplicitSession ( ) ;
359
+ return await ListDatabasesAsync ( session , options , cancellationToken ) . ConfigureAwait ( false ) ;
360
+ }
377
361
378
362
/// <inheritdoc/>
379
363
public Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
@@ -419,12 +403,10 @@ public IChangeStreamCursor<TResult> Watch<TResult>(
419
403
PipelineDefinition < ChangeStreamDocument < BsonDocument > , TResult > pipeline ,
420
404
ChangeStreamOptions options = null ,
421
405
CancellationToken cancellationToken = default )
422
- => _operationExecutor . ExecuteReadOperation (
423
- CreateChangeStreamOperation ( pipeline , options ) ,
424
- _readOperationOptions ,
425
- session : null ,
426
- allowChannelPinning : false ,
427
- cancellationToken : cancellationToken ) ;
406
+ {
407
+ using var session = _operationExecutor . StartImplicitSession ( ) ;
408
+ return Watch ( session , pipeline , options , cancellationToken ) ;
409
+ }
428
410
429
411
/// <inheritdoc/>
430
412
public IChangeStreamCursor < TResult > Watch < TResult > (
@@ -440,16 +422,14 @@ public IChangeStreamCursor<TResult> Watch<TResult>(
440
422
cancellationToken : cancellationToken ) ;
441
423
442
424
/// <inheritdoc/>
443
- public Task < IChangeStreamCursor < TResult > > WatchAsync < TResult > (
425
+ public async Task < IChangeStreamCursor < TResult > > WatchAsync < TResult > (
444
426
PipelineDefinition < ChangeStreamDocument < BsonDocument > , TResult > pipeline ,
445
427
ChangeStreamOptions options = null ,
446
428
CancellationToken cancellationToken = default )
447
- => _operationExecutor . ExecuteReadOperationAsync (
448
- CreateChangeStreamOperation ( pipeline , options ) ,
449
- _readOperationOptions ,
450
- session : null ,
451
- allowChannelPinning : false ,
452
- cancellationToken : cancellationToken ) ;
429
+ {
430
+ using var session = _operationExecutor . StartImplicitSession ( ) ;
431
+ return await WatchAsync ( session , pipeline , options , cancellationToken ) . ConfigureAwait ( false ) ;
432
+ }
453
433
454
434
/// <inheritdoc/>
455
435
public Task < IChangeStreamCursor < TResult > > WatchAsync < TResult > (
0 commit comments