diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/IMongoDbRepository.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/IMongoDbRepository.cs index a0cd792b21..eeac0dc2e2 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/IMongoDbRepository.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/IMongoDbRepository.cs @@ -23,9 +23,9 @@ public interface IMongoDbRepository : IRepository [Obsolete("Use GetMongoQueryableAsync method.")] IMongoQueryable GetMongoQueryable(); - Task> GetMongoQueryableAsync(CancellationToken cancellationToken = default); + Task> GetMongoQueryableAsync(CancellationToken cancellationToken = default, AggregateOptions options = null); - Task> GetAggregateAsync(CancellationToken cancellationToken = default); + Task> GetAggregateAsync(CancellationToken cancellationToken = default, AggregateOptions options = null); } public interface IMongoDbRepository : IMongoDbRepository, IRepository diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs index 102564f8c9..0485dd74bc 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs @@ -518,12 +518,12 @@ public class MongoDbRepository ); } - public virtual Task> GetMongoQueryableAsync(CancellationToken cancellationToken = default) + public virtual Task> GetMongoQueryableAsync(CancellationToken cancellationToken = default, AggregateOptions aggregateOptions = null) { - return GetMongoQueryableAsync(cancellationToken); + return GetMongoQueryableAsync(cancellationToken, aggregateOptions); } - protected virtual async Task> GetMongoQueryableAsync(CancellationToken cancellationToken = default) + protected virtual async Task> GetMongoQueryableAsync(CancellationToken cancellationToken = default, AggregateOptions aggregateOptions = null) { cancellationToken = GetCancellationToken(cancellationToken); @@ -532,12 +532,12 @@ public class MongoDbRepository return ApplyDataFilters, TOtherEntity>( dbContext.SessionHandle != null - ? collection.AsQueryable(dbContext.SessionHandle) - : collection.AsQueryable() + ? collection.AsQueryable(dbContext.SessionHandle, aggregateOptions) + : collection.AsQueryable(aggregateOptions) ); } - public virtual async Task> GetAggregateAsync(CancellationToken cancellationToken = default) + public virtual async Task> GetAggregateAsync(CancellationToken cancellationToken = default, AggregateOptions aggregateOptions = null) { cancellationToken = GetCancellationToken(cancellationToken); @@ -545,8 +545,8 @@ public class MongoDbRepository var collection = await GetCollectionAsync(cancellationToken); var aggregate = dbContext.SessionHandle != null - ? collection.Aggregate(dbContext.SessionHandle) - : collection.Aggregate(); + ? collection.Aggregate(dbContext.SessionHandle, aggregateOptions) + : collection.Aggregate(aggregateOptions); if (typeof(ISoftDelete).IsAssignableFrom(typeof(TEntity)) && DataFilter.IsEnabled()) { diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDbCoreRepositoryExtensions.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDbCoreRepositoryExtensions.cs index 6a59640c70..c71c3e991d 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDbCoreRepositoryExtensions.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDbCoreRepositoryExtensions.cs @@ -43,16 +43,16 @@ public static class MongoDbCoreRepositoryExtensions return repository.ToMongoDbRepository().GetMongoQueryable(); } - public static Task> GetMongoQueryableAsync(this IReadOnlyBasicRepository repository, CancellationToken cancellationToken = default) + public static Task> GetMongoQueryableAsync(this IReadOnlyBasicRepository repository, CancellationToken cancellationToken = default, AggregateOptions aggregateOptions = null) where TEntity : class, IEntity { - return repository.ToMongoDbRepository().GetMongoQueryableAsync(cancellationToken); + return repository.ToMongoDbRepository().GetMongoQueryableAsync(cancellationToken, aggregateOptions); } - public static Task> GetAggregateAsync(this IReadOnlyBasicRepository repository, CancellationToken cancellationToken = default) + public static Task> GetAggregateAsync(this IReadOnlyBasicRepository repository, CancellationToken cancellationToken = default, AggregateOptions aggregateOptions = null) where TEntity : class, IEntity { - return repository.ToMongoDbRepository().GetAggregateAsync(cancellationToken); + return repository.ToMongoDbRepository().GetAggregateAsync(cancellationToken, aggregateOptions); } public static IMongoDbRepository ToMongoDbRepository(this IReadOnlyBasicRepository repository)