Skip to content

Instantly share code, notes, and snippets.

@dcomartin
Created May 11, 2023 17:47
Embed
What would you like to do?
public interface IRepository<T>
{
Task<T?> GetById<TId>(TId id, CancellationToken cancellationToken = default) where TId : notnull;
Task<T?> GetBySpec(ISpecification<T> specification, CancellationToken cancellationToken = default);
Task<List<T>> List(CancellationToken cancellationToken = default);
Task<List<T>> List(ISpecification<T> specification, CancellationToken cancellationToken = default);
Task<T> Add(T entity, CancellationToken cancellationToken = default);
Task<IEnumerable<T>> AddRange(IEnumerable<T> entities, CancellationToken cancellationToken = default);
Task Update(T entity, CancellationToken cancellationToken = default);
Task DeleteAsync(T entity, CancellationToken cancellationToken = default);
Task<int> SaveChangesAsync(CancellationToken cancellationToken = default);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment