-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathIEntityRepository.cs
More file actions
30 lines (25 loc) · 1.28 KB
/
IEntityRepository.cs
File metadata and controls
30 lines (25 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System.Linq.Expressions;
namespace uBeac.Repositories;
public interface IRepository
{
}
public interface IEntityRepository<TKey, TEntity> : IRepository
where TKey : IEquatable<TKey>
where TEntity : IEntity<TKey>
{
Task Create(TEntity entity, string actionName, CancellationToken cancellationToken = default);
Task Create(TEntity entity, CancellationToken cancellationToken = default);
Task Update(TEntity entity, string actionName, CancellationToken cancellationToken = default);
Task Update(TEntity entity, CancellationToken cancellationToken = default);
Task Delete(TKey id, string actionName, CancellationToken cancellationToken = default);
Task Delete(TKey id, CancellationToken cancellationToken = default);
Task<IEnumerable<TEntity>> GetAll(CancellationToken cancellationToken = default);
Task<TEntity> GetById(TKey id, CancellationToken cancellationToken = default);
Task<IEnumerable<TEntity>> GetByIds(IEnumerable<TKey> ids, CancellationToken cancellationToken = default);
Task<IEnumerable<TEntity>> Find(Expression<Func<TEntity, bool>> filter, CancellationToken cancellationToken = default);
IQueryable<TEntity> AsQueryable();
}
public interface IEntityRepository<TEntity> : IEntityRepository<Guid, TEntity>
where TEntity : IEntity
{
}