|
|
|
@ -16,6 +16,7 @@ using Volo.Abp.EventBus.Distributed; |
|
|
|
using Volo.Abp.EventBus.Local; |
|
|
|
using Volo.Abp.Guids; |
|
|
|
using Volo.Abp.MongoDB; |
|
|
|
using Volo.Abp.MongoDB.Volo.Abp.Domain.Repositories.MongoDB; |
|
|
|
|
|
|
|
namespace Volo.Abp.Domain.Repositories.MongoDB |
|
|
|
{ |
|
|
|
@ -46,6 +47,8 @@ namespace Volo.Abp.Domain.Repositories.MongoDB |
|
|
|
|
|
|
|
public IAuditPropertySetter AuditPropertySetter { get; set; } |
|
|
|
|
|
|
|
public IMongoDbBulkOperationProvider BulkOperationProvider { get; set; } |
|
|
|
|
|
|
|
public MongoDbRepository(IMongoDbContextProvider<TMongoDbContext> dbContextProvider) |
|
|
|
{ |
|
|
|
DbContextProvider = dbContextProvider; |
|
|
|
@ -89,6 +92,12 @@ namespace Volo.Abp.Domain.Repositories.MongoDB |
|
|
|
await ApplyAbpConceptsForAddedEntityAsync(entity); |
|
|
|
} |
|
|
|
|
|
|
|
if (BulkOperationProvider != null) |
|
|
|
{ |
|
|
|
await BulkOperationProvider.InsertManyAsync(this, entities, autoSave, cancellationToken); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (SessionHandle != null) |
|
|
|
{ |
|
|
|
await Collection.InsertManyAsync( |
|
|
|
@ -177,6 +186,12 @@ namespace Volo.Abp.Domain.Repositories.MongoDB |
|
|
|
SetNewConcurrencyStamp(entity); |
|
|
|
} |
|
|
|
|
|
|
|
if (BulkOperationProvider != null) |
|
|
|
{ |
|
|
|
await BulkOperationProvider.UpdateManyAsync(this, entities, autoSave, cancellationToken); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
var entitiesCount = entities.Count(); |
|
|
|
BulkWriteResult result; |
|
|
|
|
|
|
|
@ -277,6 +292,12 @@ namespace Volo.Abp.Domain.Repositories.MongoDB |
|
|
|
var oldConcurrencyStamp = SetNewConcurrencyStamp(entity); |
|
|
|
} |
|
|
|
|
|
|
|
if (BulkOperationProvider != null) |
|
|
|
{ |
|
|
|
await BulkOperationProvider.DeleteManyAsync(this, entities, autoSave, cancellationToken); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
var entitiesCount = entities.Count(); |
|
|
|
|
|
|
|
if (typeof(ISoftDelete).IsAssignableFrom(typeof(TEntity))) |
|
|
|
|