22 lines
779 B
C#
22 lines
779 B
C#
using System.Linq.Expressions;
|
|
using ExpenseTracker.Domain.Entities;
|
|
|
|
namespace ExpenseTracker.Application.Common.Interfaces.Repositories;
|
|
|
|
public interface IBaseRepository<TEntity, TKey>
|
|
where TKey : IEquatable<TKey>
|
|
where TEntity : EntityBase<TKey>
|
|
{
|
|
public IQueryable<TEntity> Queryable { get; }
|
|
|
|
Task<TEntity> AddOneAsync(TEntity entity, CancellationToken cancellationToken);
|
|
|
|
Task<IEnumerable<TEntity>> AddManyAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken);
|
|
|
|
Task<TEntity> UpdateOneAsync(TEntity entity, CancellationToken cancellationToken);
|
|
|
|
Task DeleteOneAsync(TKey id, CancellationToken cancellationToken);
|
|
|
|
Task DeleteManyAsync(Expression<Func<TEntity, bool>> predicate, CancellationToken cancellationToken);
|
|
}
|