Interface IReadOnlyRepositoryCollection<TEntity, TKey>
This is a common interface for basic function that would be implemented in lockable collection.
public interface IReadOnlyRepositoryCollection<TEntity, TKey> : IReadOnlyRepositoryCollection where TEntity : EntityBase<TKey>
Type Parameters
TEntityTKey
- Inherited Members
Methods
AvgAsync(Expression<Func<TEntity, decimal>>, Expression<Func<TEntity, bool>>, CancellationToken)
Computes the average of a numeric field server-side.
Task<decimal> AvgAsync(Expression<Func<TEntity, decimal>> field, Expression<Func<TEntity, bool>> predicate = null, CancellationToken cancellationToken = default)
Parameters
fieldExpression<Func<TEntity, decimal>>predicateExpression<Func<TEntity, bool>>cancellationTokenCancellationToken
Returns
CountAsync(FilterDefinition<TEntity>, CancellationToken)
Task<long> CountAsync(FilterDefinition<TEntity> filter, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TEntity>cancellationTokenCancellationToken
Returns
CountAsync(Expression<Func<TEntity, bool>>, CancellationToken)
Task<long> CountAsync(Expression<Func<TEntity, bool>> predicate = null, CancellationToken cancellationToken = default)
Parameters
predicateExpression<Func<TEntity, bool>>cancellationTokenCancellationToken
Returns
EstimatedCountAsync(CancellationToken)
Returns an estimated count of documents in the collection using metadata. This is very fast but may not be perfectly accurate.
Task<long> EstimatedCountAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
GetAsync(FilterDefinition<TEntity>, Options<TEntity>, CancellationToken)
IAsyncEnumerable<TEntity> GetAsync(FilterDefinition<TEntity> filter, Options<TEntity> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TEntity>optionsOptions<TEntity>cancellationTokenCancellationToken
Returns
- IAsyncEnumerable<TEntity>
GetAsync(Expression<Func<TEntity, bool>>, Options<TEntity>, CancellationToken)
IAsyncEnumerable<TEntity> GetAsync(Expression<Func<TEntity, bool>> predicate = null, Options<TEntity> options = null, CancellationToken cancellationToken = default)
Parameters
predicateExpression<Func<TEntity, bool>>optionsOptions<TEntity>cancellationTokenCancellationToken
Returns
- IAsyncEnumerable<TEntity>
GetDirtyAsync()
Entities that needs cleaning.
IAsyncEnumerable<TEntity> GetDirtyAsync()
Returns
- IAsyncEnumerable<TEntity>
GetFailedIndices()
Indices that have failed to be created or dropped on this collection within the current process, with the most recent error message captured for each. Empty when no failures have been recorded. In-process scope; cross-process persistence is a planned follow-up.
IReadOnlyList<IndexFailure> GetFailedIndices()
Returns
GetManyAsync(FilterDefinition<TEntity>, Options<TEntity>, CancellationToken)
Task<Result<TEntity, TKey>> GetManyAsync(FilterDefinition<TEntity> filter, Options<TEntity> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TEntity>optionsOptions<TEntity>cancellationTokenCancellationToken
Returns
GetManyAsync(Expression<Func<TEntity, bool>>, Options<TEntity>, CancellationToken)
Task<Result<TEntity, TKey>> GetManyAsync(Expression<Func<TEntity, bool>> predicate = null, Options<TEntity> options = null, CancellationToken cancellationToken = default)
Parameters
predicateExpression<Func<TEntity, bool>>optionsOptions<TEntity>cancellationTokenCancellationToken
Returns
GetManyProjectionAsync<T>(FilterDefinition<TEntity>, Options<TEntity>, CancellationToken)
Task<Result<T>> GetManyProjectionAsync<T>(FilterDefinition<TEntity> filter, Options<TEntity> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TEntity>optionsOptions<TEntity>cancellationTokenCancellationToken
Returns
Type Parameters
T
GetManyProjectionAsync<T>(Expression<Func<TEntity, bool>>, Options<TEntity>, CancellationToken)
Task<Result<T>> GetManyProjectionAsync<T>(Expression<Func<TEntity, bool>> predicate = null, Options<TEntity> options = null, CancellationToken cancellationToken = default)
Parameters
predicateExpression<Func<TEntity, bool>>optionsOptions<TEntity>cancellationTokenCancellationToken
Returns
Type Parameters
T
GetOneAsync(FilterDefinition<TEntity>, OneOption<TEntity>, CancellationToken)
Task<TEntity> GetOneAsync(FilterDefinition<TEntity> filter, OneOption<TEntity> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TEntity>optionsOneOption<TEntity>cancellationTokenCancellationToken
Returns
- Task<TEntity>
GetOneAsync(Expression<Func<TEntity, bool>>, OneOption<TEntity>, CancellationToken)
Task<TEntity> GetOneAsync(Expression<Func<TEntity, bool>> predicate, OneOption<TEntity> options = null, CancellationToken cancellationToken = default)
Parameters
predicateExpression<Func<TEntity, bool>>optionsOneOption<TEntity>cancellationTokenCancellationToken
Returns
- Task<TEntity>
GetOneAsync(TKey, CancellationToken)
Task<TEntity> GetOneAsync(TKey id, CancellationToken cancellationToken = default)
Parameters
idTKeycancellationTokenCancellationToken
Returns
- Task<TEntity>
GetProjectionAsync<T>(FilterDefinition<TEntity>, Options<TEntity>, CancellationToken)
IAsyncEnumerable<T> GetProjectionAsync<T>(FilterDefinition<TEntity> filter, Options<TEntity> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TEntity>optionsOptions<TEntity>cancellationTokenCancellationToken
Returns
Type Parameters
T
GetProjectionAsync<T>(Expression<Func<TEntity, bool>>, Options<TEntity>, CancellationToken)
IAsyncEnumerable<T> GetProjectionAsync<T>(Expression<Func<TEntity, bool>> predicate = null, Options<TEntity> options = null, CancellationToken cancellationToken = default)
Parameters
predicateExpression<Func<TEntity, bool>>optionsOptions<TEntity>cancellationTokenCancellationToken
Returns
Type Parameters
T
MaxAsync<TField>(Expression<Func<TEntity, TField>>, Expression<Func<TEntity, bool>>, CancellationToken)
Computes the maximum value of a field server-side.
Task<TField> MaxAsync<TField>(Expression<Func<TEntity, TField>> field, Expression<Func<TEntity, bool>> predicate = null, CancellationToken cancellationToken = default)
Parameters
fieldExpression<Func<TEntity, TField>>predicateExpression<Func<TEntity, bool>>cancellationTokenCancellationToken
Returns
- Task<TField>
Type Parameters
TField
MinAsync<TField>(Expression<Func<TEntity, TField>>, Expression<Func<TEntity, bool>>, CancellationToken)
Computes the minimum value of a field server-side.
Task<TField> MinAsync<TField>(Expression<Func<TEntity, TField>> field, Expression<Func<TEntity, bool>> predicate = null, CancellationToken cancellationToken = default)
Parameters
fieldExpression<Func<TEntity, TField>>predicateExpression<Func<TEntity, bool>>cancellationTokenCancellationToken
Returns
- Task<TField>
Type Parameters
TField
SumAsync(Expression<Func<TEntity, decimal>>, Expression<Func<TEntity, bool>>, CancellationToken)
Computes the sum of a numeric field server-side.
Task<decimal> SumAsync(Expression<Func<TEntity, decimal>> field, Expression<Func<TEntity, bool>> predicate = null, CancellationToken cancellationToken = default)
Parameters
fieldExpression<Func<TEntity, decimal>>predicateExpression<Func<TEntity, bool>>cancellationTokenCancellationToken