Show / Hide Table of Contents

Class MongoDbRepository<TMongoDbContext, TEntity>

Inheritance
object
BasicRepositoryBase<TEntity>
RepositoryBase<TEntity>
MongoDbRepository<TMongoDbContext, TEntity>
MongoDbRepository<TMongoDbContext, TEntity, TKey>
MongoEntityTagRepository
Implements
IServiceProviderAccessor
IUnitOfWorkEnabled
IUnitOfWorkManagerAccessor
IMongoDbRepository<TEntity>
IRepository<TEntity>
IReadOnlyRepository<TEntity>
IBasicRepository<TEntity>
IReadOnlyBasicRepository<TEntity>
IRepository
Inherited Members
RepositoryBase<TEntity>.WithDetails()
RepositoryBase<TEntity>.WithDetails(params Expression<Func<TEntity, object>>[])
RepositoryBase<TEntity>.WithDetailsAsync()
RepositoryBase<TEntity>.WithDetailsAsync(params Expression<Func<TEntity, object>>[])
RepositoryBase<TEntity>.GetAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)
RepositoryBase<TEntity>.ApplyDataFilters<TQueryable>(TQueryable)
BasicRepositoryBase<TEntity>.SaveChangesAsync(CancellationToken)
BasicRepositoryBase<TEntity>.GetCancellationToken(CancellationToken)
BasicRepositoryBase<TEntity>.ShouldTrackingEntityChange()
BasicRepositoryBase<TEntity>.LazyServiceProvider
BasicRepositoryBase<TEntity>.ServiceProvider
BasicRepositoryBase<TEntity>.DataFilter
BasicRepositoryBase<TEntity>.CurrentTenant
BasicRepositoryBase<TEntity>.AsyncExecuter
BasicRepositoryBase<TEntity>.UnitOfWorkManager
BasicRepositoryBase<TEntity>.CancellationTokenProvider
BasicRepositoryBase<TEntity>.LoggerFactory
BasicRepositoryBase<TEntity>.Logger
BasicRepositoryBase<TEntity>.EntityChangeTrackingProvider
BasicRepositoryBase<TEntity>.IsChangeTrackingEnabled
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Volo.Abp.Domain.Repositories.MongoDB
Assembly: Volo.Abp.MongoDB.dll
Syntax
public class MongoDbRepository<TMongoDbContext, TEntity> : RepositoryBase<TEntity>, IServiceProviderAccessor, IUnitOfWorkEnabled, IUnitOfWorkManagerAccessor, IMongoDbRepository<TEntity>, IRepository<TEntity>, IReadOnlyRepository<TEntity>, IBasicRepository<TEntity>, IReadOnlyBasicRepository<TEntity>, IRepository where TMongoDbContext : IAbpMongoDbContext where TEntity : class, IEntity
Type Parameters
Name Description
TMongoDbContext
TEntity

Constructors

MongoDbRepository(IMongoDbContextProvider<TMongoDbContext>)

Declaration
public MongoDbRepository(IMongoDbContextProvider<TMongoDbContext> dbContextProvider)
Parameters
Type Name Description
IMongoDbContextProvider<TMongoDbContext> dbContextProvider

Properties

AuditPropertySetter

Declaration
public IAuditPropertySetter AuditPropertySetter { get; }
Property Value
Type Description
IAuditPropertySetter

BulkOperationProvider

Declaration
public IMongoDbBulkOperationProvider? BulkOperationProvider { get; }
Property Value
Type Description
IMongoDbBulkOperationProvider

Collection

Declaration
[Obsolete("Use GetCollectionAsync method.")]
public virtual IMongoCollection<TEntity> Collection { get; }
Property Value
Type Description
IMongoCollection<TEntity>

Database

Declaration
[Obsolete("Use GetDatabaseAsync method.")]
public virtual IMongoDatabase Database { get; }
Property Value
Type Description
IMongoDatabase

DbContext

Declaration
[Obsolete("Use GetDbContextAsync method.")]
protected virtual TMongoDbContext DbContext { get; }
Property Value
Type Description
TMongoDbContext

DbContextProvider

Declaration
protected IMongoDbContextProvider<TMongoDbContext> DbContextProvider { get; }
Property Value
Type Description
IMongoDbContextProvider<TMongoDbContext>

DistributedEventBus

Declaration
public IDistributedEventBus DistributedEventBus { get; }
Property Value
Type Description
IDistributedEventBus

EntityChangeEventHelper

Declaration
public IEntityChangeEventHelper EntityChangeEventHelper { get; }
Property Value
Type Description
IEntityChangeEventHelper

GuidGenerator

Declaration
public IGuidGenerator GuidGenerator { get; }
Property Value
Type Description
IGuidGenerator

LocalEventBus

Declaration
public ILocalEventBus LocalEventBus { get; }
Property Value
Type Description
ILocalEventBus

RepositoryFilterer

Declaration
public IMongoDbRepositoryFilterer<TEntity> RepositoryFilterer { get; }
Property Value
Type Description
IMongoDbRepositoryFilterer<TEntity>

SessionHandle

Declaration
[Obsolete("Use GetSessionHandleAsync method.")]
protected virtual IClientSessionHandle? SessionHandle { get; }
Property Value
Type Description
IClientSessionHandle

Methods

ApplyAbpConceptsForAddedEntityAsync(TEntity)

Declaration
protected virtual Task ApplyAbpConceptsForAddedEntityAsync(TEntity entity)
Parameters
Type Name Description
TEntity entity
Returns
Type Description
Task

ApplyAbpConceptsForDeletedEntity(TEntity)

Declaration
protected virtual void ApplyAbpConceptsForDeletedEntity(TEntity entity)
Parameters
Type Name Description
TEntity entity

ApplyDataFilters<TQueryable, TOtherEntity>(TQueryable)

Declaration
protected override TQueryable ApplyDataFilters<TQueryable, TOtherEntity>(TQueryable query) where TQueryable : IQueryable<TOtherEntity>
Parameters
Type Name Description
TQueryable query
Returns
Type Description
TQueryable
Type Parameters
Name Description
TQueryable
TOtherEntity
Overrides
RepositoryBase<TEntity>.ApplyDataFilters<TQueryable, TOtherEntity>(TQueryable)

CheckAndSetId(TEntity)

Declaration
protected virtual void CheckAndSetId(TEntity entity)
Parameters
Type Name Description
TEntity entity

CreateEntitiesFilterAsync(IEnumerable<TEntity>, bool)

Declaration
protected virtual Task<FilterDefinition<TEntity>> CreateEntitiesFilterAsync(IEnumerable<TEntity> entities, bool withConcurrencyStamp = false)
Parameters
Type Name Description
IEnumerable<TEntity> entities
bool withConcurrencyStamp
Returns
Type Description
Task<FilterDefinition<TEntity>>

CreateEntityFilterAsync(TEntity, bool, string?)

Declaration
protected virtual Task<FilterDefinition<TEntity>> CreateEntityFilterAsync(TEntity entity, bool withConcurrencyStamp = false, string? concurrencyStamp = null)
Parameters
Type Name Description
TEntity entity
bool withConcurrencyStamp
string concurrencyStamp
Returns
Type Description
Task<FilterDefinition<TEntity>>

DeleteAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)

Declaration
public override Task DeleteAsync(Expression<Func<TEntity, bool>> predicate, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
Expression<Func<TEntity, bool>> predicate
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
RepositoryBase<TEntity>.DeleteAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)

DeleteAsync(TEntity, bool, CancellationToken)

Declaration
public override Task DeleteAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TEntity entity
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
BasicRepositoryBase<TEntity>.DeleteAsync(TEntity, bool, CancellationToken)

DeleteDirectAsync(Expression<Func<TEntity, bool>>, CancellationToken)

Declaration
public override Task DeleteDirectAsync(Expression<Func<TEntity, bool>> predicate, CancellationToken cancellationToken = default)
Parameters
Type Name Description
Expression<Func<TEntity, bool>> predicate
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
RepositoryBase<TEntity>.DeleteDirectAsync(Expression<Func<TEntity, bool>>, CancellationToken)

DeleteManyAsync(IEnumerable<TEntity>, bool, CancellationToken)

Declaration
public override Task DeleteManyAsync(IEnumerable<TEntity> entities, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
IEnumerable<TEntity> entities
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
BasicRepositoryBase<TEntity>.DeleteManyAsync(IEnumerable<TEntity>, bool, CancellationToken)

FindAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)

Declaration
public override Task<TEntity?> FindAsync(Expression<Func<TEntity, bool>> predicate, bool includeDetails = true, CancellationToken cancellationToken = default)
Parameters
Type Name Description
Expression<Func<TEntity, bool>> predicate
bool includeDetails
CancellationToken cancellationToken
Returns
Type Description
Task<TEntity>
Overrides
RepositoryBase<TEntity>.FindAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)

GetAggregateAsync(CancellationToken, AggregateOptions?)

Declaration
public virtual Task<IAggregateFluent<TEntity>> GetAggregateAsync(CancellationToken cancellationToken = default, AggregateOptions? aggregateOptions = null)
Parameters
Type Name Description
CancellationToken cancellationToken
AggregateOptions aggregateOptions
Returns
Type Description
Task<IAggregateFluent<TEntity>>

GetCollectionAsync(CancellationToken)

Declaration
public virtual Task<IMongoCollection<TEntity>> GetCollectionAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<IMongoCollection<TEntity>>

GetCountAsync(CancellationToken)

Declaration
public override Task<long> GetCountAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<long>
Overrides
BasicRepositoryBase<TEntity>.GetCountAsync(CancellationToken)

GetDatabaseAsync(CancellationToken)

Declaration
public virtual Task<IMongoDatabase> GetDatabaseAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<IMongoDatabase>

GetDbContextAsync(CancellationToken)

Declaration
protected Task<TMongoDbContext> GetDbContextAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<TMongoDbContext>

GetListAsync(bool, CancellationToken)

Declaration
public override Task<List<TEntity>> GetListAsync(bool includeDetails = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
bool includeDetails
CancellationToken cancellationToken
Returns
Type Description
Task<List<TEntity>>
Overrides
BasicRepositoryBase<TEntity>.GetListAsync(bool, CancellationToken)

GetListAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)

Declaration
public override Task<List<TEntity>> GetListAsync(Expression<Func<TEntity, bool>> predicate, bool includeDetails = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
Expression<Func<TEntity, bool>> predicate
bool includeDetails
CancellationToken cancellationToken
Returns
Type Description
Task<List<TEntity>>
Overrides
BasicRepositoryBase<TEntity>.GetListAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)

GetMongoQueryable()

Declaration
[Obsolete("Use GetMongoQueryableAsync method.")]
public virtual IMongoQueryable<TEntity> GetMongoQueryable()
Returns
Type Description
IMongoQueryable<TEntity>

GetMongoQueryableAsync(CancellationToken, AggregateOptions?)

Declaration
public virtual Task<IMongoQueryable<TEntity>> GetMongoQueryableAsync(CancellationToken cancellationToken = default, AggregateOptions? aggregateOptions = null)
Parameters
Type Name Description
CancellationToken cancellationToken
AggregateOptions aggregateOptions
Returns
Type Description
Task<IMongoQueryable<TEntity>>

GetMongoQueryableAsync<TOtherEntity>(CancellationToken, AggregateOptions?)

Declaration
protected virtual Task<IMongoQueryable<TOtherEntity>> GetMongoQueryableAsync<TOtherEntity>(CancellationToken cancellationToken = default, AggregateOptions? aggregateOptions = null)
Parameters
Type Name Description
CancellationToken cancellationToken
AggregateOptions aggregateOptions
Returns
Type Description
Task<IMongoQueryable<TOtherEntity>>
Type Parameters
Name Description
TOtherEntity

GetPagedListAsync(int, int, string, bool, CancellationToken)

Declaration
public override Task<List<TEntity>> GetPagedListAsync(int skipCount, int maxResultCount, string sorting, bool includeDetails = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int skipCount
int maxResultCount
string sorting
bool includeDetails
CancellationToken cancellationToken
Returns
Type Description
Task<List<TEntity>>
Overrides
BasicRepositoryBase<TEntity>.GetPagedListAsync(int, int, string, bool, CancellationToken)

GetQueryable()

Declaration
[Obsolete("Use GetQueryableAsync method.")]
protected override IQueryable<TEntity> GetQueryable()
Returns
Type Description
IQueryable<TEntity>
Overrides
RepositoryBase<TEntity>.GetQueryable()

GetQueryableAsync()

Declaration
public override Task<IQueryable<TEntity>> GetQueryableAsync()
Returns
Type Description
Task<IQueryable<TEntity>>
Overrides
RepositoryBase<TEntity>.GetQueryableAsync()

GetSessionHandleAsync(CancellationToken)

Declaration
protected Task<IClientSessionHandle?> GetSessionHandleAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<IClientSessionHandle>

IncrementEntityVersionProperty(TEntity)

Declaration
protected virtual void IncrementEntityVersionProperty(TEntity entity)
Parameters
Type Name Description
TEntity entity

InsertAsync(TEntity, bool, CancellationToken)

Declaration
public override Task<TEntity> InsertAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TEntity entity
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task<TEntity>
Overrides
BasicRepositoryBase<TEntity>.InsertAsync(TEntity, bool, CancellationToken)

InsertManyAsync(IEnumerable<TEntity>, bool, CancellationToken)

Declaration
public override Task InsertManyAsync(IEnumerable<TEntity> entities, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
IEnumerable<TEntity> entities
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
BasicRepositoryBase<TEntity>.InsertManyAsync(IEnumerable<TEntity>, bool, CancellationToken)

IsHardDeleted(TEntity)

Declaration
protected virtual bool IsHardDeleted(TEntity entity)
Parameters
Type Name Description
TEntity entity
Returns
Type Description
bool

SetCreationAuditProperties(TEntity)

Declaration
protected virtual void SetCreationAuditProperties(TEntity entity)
Parameters
Type Name Description
TEntity entity

SetDeletionAuditProperties(TEntity)

Declaration
protected virtual void SetDeletionAuditProperties(TEntity entity)
Parameters
Type Name Description
TEntity entity

SetModificationAuditProperties(TEntity)

Declaration
protected virtual void SetModificationAuditProperties(TEntity entity)
Parameters
Type Name Description
TEntity entity

SetNewConcurrencyStamp(TEntity)

Declaration
protected virtual string? SetNewConcurrencyStamp(TEntity entity)
Parameters
Type Name Description
TEntity entity
Returns
Type Description
string

ThrowOptimisticConcurrencyException()

Declaration
protected virtual void ThrowOptimisticConcurrencyException()

TriggerDomainEvents(object)

Declaration
protected virtual void TriggerDomainEvents(object entity)
Parameters
Type Name Description
object entity

TriggerEntityCreateEvents(TEntity)

Declaration
protected virtual void TriggerEntityCreateEvents(TEntity entity)
Parameters
Type Name Description
TEntity entity

TriggerEntityDeleteEvents(TEntity)

Declaration
protected virtual void TriggerEntityDeleteEvents(TEntity entity)
Parameters
Type Name Description
TEntity entity

TriggerEntityUpdateEvents(TEntity)

Declaration
protected virtual void TriggerEntityUpdateEvents(TEntity entity)
Parameters
Type Name Description
TEntity entity

TrySetGuidId(IEntity<Guid>)

Declaration
protected virtual void TrySetGuidId(IEntity<Guid> entity)
Parameters
Type Name Description
IEntity<Guid> entity

UpdateAsync(TEntity, bool, CancellationToken)

Declaration
public override Task<TEntity> UpdateAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TEntity entity
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task<TEntity>
Overrides
BasicRepositoryBase<TEntity>.UpdateAsync(TEntity, bool, CancellationToken)

UpdateManyAsync(IEnumerable<TEntity>, bool, CancellationToken)

Declaration
public override Task UpdateManyAsync(IEnumerable<TEntity> entities, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
IEnumerable<TEntity> entities
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
BasicRepositoryBase<TEntity>.UpdateManyAsync(IEnumerable<TEntity>, bool, CancellationToken)

Implements

IServiceProviderAccessor
IUnitOfWorkEnabled
IUnitOfWorkManagerAccessor
IMongoDbRepository<TEntity>
IRepository<TEntity>
IReadOnlyRepository<TEntity>
IBasicRepository<TEntity>
IReadOnlyBasicRepository<TEntity>
IRepository

Extension Methods

AbpObjectExtensions.As<T>(object)
AbpObjectExtensions.To<T>(object)
LockExtensions.Locking(object, Action)
LockExtensions.Locking<TResult>(object, Func<TResult>)
MongoDbCoreRepositoryExtensions.GetAggregateAsync<TEntity>(IReadOnlyBasicRepository<TEntity>, CancellationToken, AggregateOptions?)
MongoDbCoreRepositoryExtensions.GetCollectionAsync<TEntity>(IReadOnlyBasicRepository<TEntity>, CancellationToken)
MongoDbCoreRepositoryExtensions.GetCollection<TEntity>(IReadOnlyBasicRepository<TEntity>)
MongoDbCoreRepositoryExtensions.GetDatabaseAsync<TEntity>(IReadOnlyBasicRepository<TEntity>, CancellationToken)
MongoDbCoreRepositoryExtensions.GetDatabase<TEntity>(IReadOnlyBasicRepository<TEntity>)
MongoDbCoreRepositoryExtensions.GetMongoQueryableAsync<TEntity>(IReadOnlyBasicRepository<TEntity>, CancellationToken, AggregateOptions?)
MongoDbCoreRepositoryExtensions.GetMongoQueryable<TEntity>(IReadOnlyBasicRepository<TEntity>)
MongoDbCoreRepositoryExtensions.ToMongoDbRepository<TEntity>(IReadOnlyBasicRepository<TEntity>)
AbpObjectExtensions.If<T>(T, bool, Action<T>)
AbpObjectExtensions.If<T>(T, bool, Func<T, T>)
AbpObjectExtensions.IsIn<T>(T, IEnumerable<T>)
AbpObjectExtensions.IsIn<T>(T, params T[])
AbpQueryableExtensions.OrderByIf<T, TQueryable>(TQueryable, bool, string)
AbpQueryableExtensions.PageBy<T, TQueryable>(TQueryable, int, int)
AbpQueryableExtensions.WhereIf<T, TQueryable>(TQueryable, bool, Expression<Func<T, bool>>)
AbpQueryableExtensions.WhereIf<T, TQueryable>(TQueryable, bool, Expression<Func<T, int, bool>>)
AbpOpenIddictQueryableExtensions.SkipIf<T, TQueryable>(TQueryable, bool, int?)
AbpOpenIddictQueryableExtensions.TakeIf<T, TQueryable>(TQueryable, bool, int?)
LockExtensions.Locking<T>(T, Action<T>)
LockExtensions.Locking<T, TResult>(T, Func<T, TResult>)
In this article
Back to top Powered by ABP.IO Platform