first edit

This commit is contained in:
Курнат Андрей
2026-01-31 16:11:36 +03:00
commit f0e11d6379
148 changed files with 6986 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
using System.Linq.Expressions;
namespace XLIMS.CONTRACT
{
// Интерфейс generic-репозитория
public interface IGenericRepository<TEntity> where TEntity : class
{
Task<TEntity> GetByIdAsync(int id);
Task<IEnumerable<TEntity>> GetAllAsync();
Task<IEnumerable<TEntity>> WhereAsync(Expression<Func<TEntity, bool>> predicate);
IEnumerable<TEntity> Find(Expression<Func<TEntity, bool>> predicate);
Task<IEnumerable<TEntity>> FindAsync(Expression<Func<TEntity, bool>> predicate);
Task<TEntity> SingleOrDefaultAsync(Expression<Func<TEntity, bool>> predicate);
Task AddAsync(TEntity entity);
Task AddRangeAsync(IEnumerable<TEntity> entities);
Task UpdateAsync(TEntity entity);
Task UpdateRangeAsync(IEnumerable<TEntity> entities);
Task RemoveAsync(TEntity entity);
Task RemoveRangeAsync(IEnumerable<TEntity> entities);
Task<int> CountAsync(Expression<Func<TEntity, bool>> predicate = null);
event Action SetChanged;
Task<int> SaveChangesAsync();
int SaveChanges();
}
}