2025-03-15 01:39:43 +03:30

19 lines
744 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);
}