using Microsoft.EntityFrameworkCore;

namespace NetinaShop.Repository.Repositories.Base.Contracts
{
    public interface IReadRepository<T> where T : class, IApiEntity
    {
        DbSet<T> Entities { get; }
        IQueryable<T> ExecuteCommand(FormattableString command);
        IQueryable<T> Table { get; }
        IQueryable<T> TableNoTracking { get; }
        T GetById(params object[] ids);
        ValueTask<T> GetByIdAsync(CancellationToken cancellationToken, params object[] ids);
        
    }
}