The Repository Pattern
public interface IRepository<TEntity> : where TEntity : class {
Task AddAsync(TEntity entity, CancellationToken cancellationToken = default);
Task AddRangeAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default);
Task<bool> RemoveAsync(TEntity entity, CancellationToken cancellationToken = default);
Task RemoveRangeAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default);
Task<bool> UpdateAsync(TEntity entity, CancellationToken cancellationToken = default);
Task<TEntity?> FindByIdAsync(object key, CancellationToken cancellationToken = default);
}Querying the Repository
The IQuery Interface
IQuery InterfaceQuery
Description
The IQueryFilter Interface
IQueryFilter InterfaceFilter
Description
The ISort Interface
ISort InterfaceSort
Description
Extensions
IFilterableRepository
IQueryableRepository
IPageableRepository
Last updated