Api/Netina.Repository/Repositories/Marten/IMartenRepository.cs

15 lines
758 B
C#

using System.Linq.Expressions;
namespace Netina.Repository.Repositories.Marten;
public interface IMartenRepository<TMartenEntity> : IScopedDependency where TMartenEntity : IMartenEntity
{
Task<List<TMartenEntity>> GetEntitiesAsync(CancellationToken cancellation);
Task<List<TMartenEntity>> GetEntitiesAsync(Expression<Func<TMartenEntity, bool>> expression, CancellationToken cancellation);
Task<TMartenEntity> GetEntityAsync(Guid id, CancellationToken cancellation);
Task<TMartenEntity?> GetEntityAsync(Expression<Func<TMartenEntity, bool>> expression, CancellationToken cancellation);
Task AddOrUpdateEntityAsync(TMartenEntity setting, CancellationToken cancellation);
Task RemoveEntityAsync(CancellationToken cancellation);
}