Consider SessionHandle for MongoDb Bulk Operations

pull/6676/head
enisn 4 years ago
parent c9d043f94e
commit 5a546124ed

@ -394,6 +394,7 @@ public class MyCustomMongoDbBulkOperationProvider : IMongoDbBulkOperationProvide
{ {
public async Task DeleteManyAsync<TEntity>(IMongoDbRepository<TEntity> repository, public async Task DeleteManyAsync<TEntity>(IMongoDbRepository<TEntity> repository,
IEnumerable<TEntity> entities, IEnumerable<TEntity> entities,
IClientSessionHandle sessionHandle,
bool autoSave, bool autoSave,
CancellationToken cancellationToken) CancellationToken cancellationToken)
where TEntity : class, IEntity where TEntity : class, IEntity
@ -403,6 +404,7 @@ public class MyCustomMongoDbBulkOperationProvider : IMongoDbBulkOperationProvide
public async Task InsertManyAsync<TEntity>(IMongoDbRepository<TEntity> repository, public async Task InsertManyAsync<TEntity>(IMongoDbRepository<TEntity> repository,
IEnumerable<TEntity> entities, IEnumerable<TEntity> entities,
IClientSessionHandle sessionHandle,
bool autoSave, bool autoSave,
CancellationToken cancellationToken) CancellationToken cancellationToken)
where TEntity : class, IEntity where TEntity : class, IEntity
@ -411,9 +413,10 @@ public class MyCustomMongoDbBulkOperationProvider : IMongoDbBulkOperationProvide
} }
public async Task UpdateManyAsync<TEntity>(IMongoDbRepository<TEntity> repository, public async Task UpdateManyAsync<TEntity>(IMongoDbRepository<TEntity> repository,
IEnumerable<TEntity> entities, IEnumerable<TEntity> entities,
bool autoSave, IClientSessionHandle sessionHandle,
CancellationToken cancellationToken) bool autoSave,
CancellationToken cancellationToken)
where TEntity : class, IEntity where TEntity : class, IEntity
{ {
// Your logic here. // Your logic here.

@ -1,4 +1,5 @@
using System.Collections.Generic; using MongoDB.Driver;
using System.Collections.Generic;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Entities;
@ -11,6 +12,7 @@ namespace Volo.Abp.MongoDB.Volo.Abp.Domain.Repositories.MongoDB
Task InsertManyAsync<TEntity>( Task InsertManyAsync<TEntity>(
IMongoDbRepository<TEntity> repository, IMongoDbRepository<TEntity> repository,
IEnumerable<TEntity> entities, IEnumerable<TEntity> entities,
IClientSessionHandle sessionHandle,
bool autoSave, bool autoSave,
CancellationToken cancellationToken CancellationToken cancellationToken
) )
@ -19,6 +21,7 @@ namespace Volo.Abp.MongoDB.Volo.Abp.Domain.Repositories.MongoDB
Task UpdateManyAsync<TEntity>( Task UpdateManyAsync<TEntity>(
IMongoDbRepository<TEntity> repository, IMongoDbRepository<TEntity> repository,
IEnumerable<TEntity> entities, IEnumerable<TEntity> entities,
IClientSessionHandle sessionHandle,
bool autoSave, bool autoSave,
CancellationToken cancellationToken CancellationToken cancellationToken
) )
@ -27,6 +30,7 @@ namespace Volo.Abp.MongoDB.Volo.Abp.Domain.Repositories.MongoDB
Task DeleteManyAsync<TEntity>( Task DeleteManyAsync<TEntity>(
IMongoDbRepository<TEntity> repository, IMongoDbRepository<TEntity> repository,
IEnumerable<TEntity> entities, IEnumerable<TEntity> entities,
IClientSessionHandle sessionHandle,
bool autoSave, bool autoSave,
CancellationToken cancellationToken CancellationToken cancellationToken
) )

@ -94,7 +94,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB
if (BulkOperationProvider != null) if (BulkOperationProvider != null)
{ {
await BulkOperationProvider.InsertManyAsync(this, entities, autoSave, cancellationToken); await BulkOperationProvider.InsertManyAsync(this, entities, SessionHandle, autoSave, cancellationToken);
return; return;
} }
@ -188,7 +188,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB
if (BulkOperationProvider != null) if (BulkOperationProvider != null)
{ {
await BulkOperationProvider.UpdateManyAsync(this, entities, autoSave, cancellationToken); await BulkOperationProvider.UpdateManyAsync(this, entities, SessionHandle, autoSave, cancellationToken);
return; return;
} }
@ -292,7 +292,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB
if (BulkOperationProvider != null) if (BulkOperationProvider != null)
{ {
await BulkOperationProvider.DeleteManyAsync(this, entities, autoSave, cancellationToken); await BulkOperationProvider.DeleteManyAsync(this, entities, SessionHandle, autoSave, cancellationToken);
return; return;
} }

Loading…
Cancel
Save