using e_suite.Database.Audit;
using Microsoft.EntityFrameworkCore.ChangeTracking;

namespace e_suite.Database.Core;

public interface IDatabaseCore : IDatabaseAudit
{
    EntityEntry<TEntity> Entry<TEntity>(TEntity entity) where TEntity : class;

    Task<T> TransactionAsync<T>(Func<Task<T>> action);

    Task TransactionAsync(Func<Task> action);
}