Table of Contents

Interface IReadOnlyRepositoryCollection<TEntity, TKey>

Namespace
Tharga.MongoDB
Assembly
Tharga.MongoDB.dll

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

TEntity
TKey
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

field Expression<Func<TEntity, decimal>>
predicate Expression<Func<TEntity, bool>>
cancellationToken CancellationToken

Returns

Task<decimal>

CountAsync(FilterDefinition<TEntity>, CancellationToken)

Task<long> CountAsync(FilterDefinition<TEntity> filter, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TEntity>
cancellationToken CancellationToken

Returns

Task<long>

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

Task<long> CountAsync(Expression<Func<TEntity, bool>> predicate = null, CancellationToken cancellationToken = default)

Parameters

predicate Expression<Func<TEntity, bool>>
cancellationToken CancellationToken

Returns

Task<long>

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

cancellationToken CancellationToken

Returns

Task<long>

GetAsync(FilterDefinition<TEntity>, Options<TEntity>, CancellationToken)

IAsyncEnumerable<TEntity> GetAsync(FilterDefinition<TEntity> filter, Options<TEntity> options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TEntity>
options Options<TEntity>
cancellationToken CancellationToken

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

predicate Expression<Func<TEntity, bool>>
options Options<TEntity>
cancellationToken CancellationToken

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

IReadOnlyList<IndexFailure>

GetManyAsync(FilterDefinition<TEntity>, Options<TEntity>, CancellationToken)

Task<Result<TEntity, TKey>> GetManyAsync(FilterDefinition<TEntity> filter, Options<TEntity> options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TEntity>
options Options<TEntity>
cancellationToken CancellationToken

Returns

Task<Result<TEntity, TKey>>

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

predicate Expression<Func<TEntity, bool>>
options Options<TEntity>
cancellationToken CancellationToken

Returns

Task<Result<TEntity, TKey>>

GetManyProjectionAsync<T>(FilterDefinition<TEntity>, Options<TEntity>, CancellationToken)

Task<Result<T>> GetManyProjectionAsync<T>(FilterDefinition<TEntity> filter, Options<TEntity> options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TEntity>
options Options<TEntity>
cancellationToken CancellationToken

Returns

Task<Result<T>>

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

predicate Expression<Func<TEntity, bool>>
options Options<TEntity>
cancellationToken CancellationToken

Returns

Task<Result<T>>

Type Parameters

T

GetOneAsync(FilterDefinition<TEntity>, OneOption<TEntity>, CancellationToken)

Task<TEntity> GetOneAsync(FilterDefinition<TEntity> filter, OneOption<TEntity> options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TEntity>
options OneOption<TEntity>
cancellationToken CancellationToken

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

predicate Expression<Func<TEntity, bool>>
options OneOption<TEntity>
cancellationToken CancellationToken

Returns

Task<TEntity>

GetOneAsync(TKey, CancellationToken)

Task<TEntity> GetOneAsync(TKey id, CancellationToken cancellationToken = default)

Parameters

id TKey
cancellationToken CancellationToken

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

filter FilterDefinition<TEntity>
options Options<TEntity>
cancellationToken CancellationToken

Returns

IAsyncEnumerable<T>

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

predicate Expression<Func<TEntity, bool>>
options Options<TEntity>
cancellationToken CancellationToken

Returns

IAsyncEnumerable<T>

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

field Expression<Func<TEntity, TField>>
predicate Expression<Func<TEntity, bool>>
cancellationToken CancellationToken

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

field Expression<Func<TEntity, TField>>
predicate Expression<Func<TEntity, bool>>
cancellationToken CancellationToken

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

field Expression<Func<TEntity, decimal>>
predicate Expression<Func<TEntity, bool>>
cancellationToken CancellationToken

Returns

Task<decimal>