using System.Threading; using System.Threading.Tasks; using MediatR; namespace HN.Infrastructure.Behaviors { public sealed class UnitOfWorkBehavior : IPipelineBehavior { private readonly HNDbContext _context; public UnitOfWorkBehavior(HNDbContext context) { _context = context; } public async Task Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate next) { var response = await next(); await _context.SaveChangesAsync(); return response; } } }