using LanguageExt.Common; using W542.GandalfReborn.Data.Entities.Base; namespace W542.GandalfReborn.Data.Database.Repositories; public interface IGrRepository where TEntity : class, IEntity { Task> SaveChanges(); Task> GetSingle(Func, IQueryable>? query, bool tracked = true); Task>> GetMany(Func, IQueryable>? query, bool tracked = true); Task> Upsert(TEntity entity); Task>> Upsert(ICollection entities); IQueryable Query(Func, IQueryable> query); IQueryable Query(Func, IQueryable> query); }