using System.Linq.Expressions; namespace DigitalData.Core.Abstractions.Infrastructure; public interface IRepository { public Task CreateAsync(TEntity entity, CancellationToken ct = default); public Task> CreateAsync(IEnumerable entities, CancellationToken ct = default); public Task> ReadAsync(Expression>? expression = null, CancellationToken ct = default); public Task UpdateAsync(TUpdate update, Expression> expression, CancellationToken ct = default); public Task DeleteAsync(Expression> expression, CancellationToken ct = default); }