2025-03-02 12:51:02 +01:00

18 lines
779 B
C#

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