Table of Contents

Class UserRepositoryCollection<TUserEntity>

Namespace
Tharga.Team.MongoDB
Assembly
Tharga.Team.MongoDB.dll

MongoDB collection definition for User documents. Public so consumers can subclass it to declare per-deployment indices on their own TUserEntity shape. Register the subclass via RegisterUserRepository<TUserEntity, TCollection>().

public class UserRepositoryCollection<TUserEntity> : DiskRepositoryCollectionBase<TUserEntity>, IUserRepositoryCollection<TUserEntity>, IDiskRepositoryCollection<TUserEntity>, IDiskRepositoryCollection<TUserEntity, ObjectId>, IRepositoryCollection<TUserEntity, ObjectId>, IReadOnlyRepositoryCollection<TUserEntity, ObjectId>, IRepositoryCollection, IReadOnlyRepositoryCollection where TUserEntity : EntityBase, IUser

Type Parameters

TUserEntity
Inheritance
RepositoryCollectionBase
RepositoryCollectionBase<TUserEntity, ObjectId>
DiskRepositoryCollectionBase<TUserEntity, ObjectId>
DiskRepositoryCollectionBase<TUserEntity>
UserRepositoryCollection<TUserEntity>
Implements
IDiskRepositoryCollection<TUserEntity>
IDiskRepositoryCollection<TUserEntity, ObjectId>
IRepositoryCollection<TUserEntity, ObjectId>
IReadOnlyRepositoryCollection<TUserEntity, ObjectId>
IRepositoryCollection
IReadOnlyRepositoryCollection
Inherited Members
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.AddAsync(TUserEntity, IClientSessionHandle)
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.TryAddAsync(TUserEntity, IClientSessionHandle)
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.AddOrReplaceAsync(TUserEntity, IClientSessionHandle)
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.ReplaceOneAsync(TUserEntity, OneOption<TUserEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.ReplaceOneAsync(TUserEntity, FilterDefinition<TUserEntity>, OneOption<TUserEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.UpdateOneAsync(ObjectId, UpdateDefinition<TUserEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.UpdateOneAsync(FilterDefinition<TUserEntity>, UpdateDefinition<TUserEntity>, OneOption<TUserEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.UpdateManyAsync(FilterDefinition<TUserEntity>, UpdateDefinition<TUserEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.DeleteOneAsync(ObjectId, IClientSessionHandle)
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.DeleteOneAsync(FilterDefinition<TUserEntity>, OneOption<TUserEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.DeleteManyAsync(FilterDefinition<TUserEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.GetCollection()
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.DropCollectionAsync()
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.GetDirtyAsync()
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.GetFailedIndices()
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.DropEmptyAsync(IMongoCollection<TUserEntity>)
DiskRepositoryCollectionBase<TUserEntity, ObjectId>.FetchSize
RepositoryCollectionBase<TUserEntity, ObjectId>._mongoDbServiceFactory
RepositoryCollectionBase<TUserEntity, ObjectId>._logger
RepositoryCollectionBase<TUserEntity, ObjectId>._databaseContext
RepositoryCollectionBase<TUserEntity, ObjectId>._mongoDbService
RepositoryCollectionBase<TUserEntity, ObjectId>.AddAsync(TUserEntity, IClientSessionHandle)
RepositoryCollectionBase<TUserEntity, ObjectId>.TryAddAsync(TUserEntity, IClientSessionHandle)
RepositoryCollectionBase<TUserEntity, ObjectId>.DeleteOneAsync(ObjectId, IClientSessionHandle)
RepositoryCollectionBase<TUserEntity, ObjectId>.DropCollectionAsync()
RepositoryCollectionBase<TUserEntity, ObjectId>.GetDirtyAsync()
RepositoryCollectionBase<TUserEntity, ObjectId>.GetFailedIndices()
RepositoryCollectionBase<TUserEntity, ObjectId>.InitAsync(IMongoCollection<TUserEntity>)
RepositoryCollectionBase<TUserEntity, ObjectId>.ProtectedCollectionName
RepositoryCollectionBase<TUserEntity, ObjectId>.CollectionName
RepositoryCollectionBase<TUserEntity, ObjectId>.DatabasePart
RepositoryCollectionBase<TUserEntity, ObjectId>.ConfigurationName
RepositoryCollectionBase<TUserEntity, ObjectId>.AutoClean
RepositoryCollectionBase<TUserEntity, ObjectId>.CleanOnStartup
RepositoryCollectionBase<TUserEntity, ObjectId>.CreateCollectionStrategy
RepositoryCollectionBase<TUserEntity, ObjectId>.FetchSize
RepositoryCollectionBase<TUserEntity, ObjectId>.Indices
RepositoryCollectionBase<TUserEntity, ObjectId>.CoreIndices
RepositoryCollectionBase<TUserEntity, ObjectId>.Types
RepositoryCollectionBase.ConfigurationName
RepositoryCollectionBase.ActionEvent

Constructors

UserRepositoryCollection(IMongoDbServiceFactory, ILogger<UserRepositoryCollection<TUserEntity>>, IOptions<ThargaTeamOptions>)

public UserRepositoryCollection(IMongoDbServiceFactory mongoDbServiceFactory, ILogger<UserRepositoryCollection<TUserEntity>> logger, IOptions<ThargaTeamOptions> options = null)

Parameters

mongoDbServiceFactory IMongoDbServiceFactory
logger ILogger<UserRepositoryCollection<TUserEntity>>
options IOptions<ThargaTeamOptions>

Properties

CollectionName

public override string CollectionName { get; }

Property Value

string

Indices

public override IEnumerable<CreateIndexModel<TUserEntity>> Indices { get; }

Property Value

IEnumerable<CreateIndexModel<TUserEntity>>