18 lines
779 B
C#
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);
|
|
} |