using System.Linq.Expressions; namespace DigitalData.Core.Abstraction.Application.Repository; public interface IRepository { public IEntityMapper Mapper { get; } public Task CreateAsync(TEntity entity, CancellationToken cancel = default); public Task> CreateAsync(IEnumerable entities, CancellationToken cancel = default); public IQueryable Read(); public IQueryable ReadOnly(); public Task UpdateAsync(TDto dto, Expression> expression, CancellationToken cancel = default); public Task UpdateAsync(TDto dto, IQueryable query, CancellationToken cancel = default); public Task DeleteAsync(Expression> expression, CancellationToken cancel = default); public Task DeleteAsync(IQueryable query, CancellationToken cancel = default); }