using System.Linq.Expressions; namespace ECommerce.Model.Repositories; public interface IRepository where T : class { Task GetByIdAsync(Guid id); Task> GetAllAsync(); Task> FindAsync(Expression> predicate); Task AddAsync(T entity); Task UpdateAsync(T entity); Task DeleteAsync(T entity); }