| 123456789101112131415 |
- using Application.Abstractions.Data;
- using Microsoft.EntityFrameworkCore;
- namespace Infrastructure.Persistence;
- /// <summary>
- /// <see cref="IAppDbContextFactory"/> 구현 — EF 풀링 팩토리(<see cref="IDbContextFactory{AppDbContext}"/>)를 감싼다.
- /// 요청 스코프 컨텍스트(AddDbContextPool)와 동일한 옵션/풀을 공유하며, 호출자가 `await using` 으로
- /// 해제해야 풀에 반환된다. PG 성공 후 저장 실패 대사 로그처럼 실패한 스코프 컨텍스트와 분리된
- /// 독립 커밋이 필요한 out-of-band 작업 전용. (Phase 1.5)
- /// </summary>
- public sealed class AppDbContextFactory(IDbContextFactory<AppDbContext> factory) : IAppDbContextFactory
- {
- public IAppDbContext CreateDbContext() => factory.CreateDbContext();
- }
|