using System.Linq.Expressions; using adas_core.Domain.Models.Filter; using Microsoft.EntityFrameworkCore; namespace adas_core.Domain; public interface IDefaultRepository where T : class { DbSet GetSet(); IQueryable Query(); IQueryable Query(PaginationFilter? filter); IQueryable Query(int? currentPage, int? pageSize = null); T? GetById(TS id, params Expression>[] includeExpressions); T? GetById(TS id, QueryCustomizer queryCustomizer); /*[Obsolete("Use GetById( id) instead")] T? GetById(int id); [Obsolete("Use GetById( id) instead")] T? GetById(long id); //T? GetById(string id);*/ T? GetByIds(params object[] keyValues); T Create(T obj); List Create(List objs); T Delete(T obj); List Delete(ICollection objs); void DeleteAll(); T Update(T obj); int Count(); int Count(string status); List FindAll(); }