2025-07-23 16:18:05 +03:30

18 lines
743 B
C#

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