using BuildingBlocks.Core.Event; using Microsoft.EntityFrameworkCore; namespace BuildingBlocks.EFCore; public interface IDbContext { DbSet Set() where TEntity : class; IReadOnlyList GetDomainEvents(); Task BeginTransactionAsync(CancellationToken cancellationToken = default); Task CommitTransactionAsync(CancellationToken cancellationToken = default); Task RollbackTransactionAsync(CancellationToken cancellationToken = default); Task SaveChangesAsync(CancellationToken cancellationToken = default); }