fix(di): DbContextOptions 수명 Singleton — AddDbContextFactory 스코프 충돌 해소 #3

Merged
windpacer merged 1 commits from fix/dbcontextfactory-options-lifetime into main 2026-06-18 10:07:32 +09:00
Owner

문제

AddDbContextFactory<Hc900DbContext>(싱글톤)가 Scoped DbContextOptions를 소비 → Development의 ValidateOnBuild에서 기동 크래시(Cannot consume scoped service ... from singleton). Production(dotnet run)에선 검증이 꺼져 잠재.

수정

AddDbContextoptionsLifetime: ServiceLifetime.Singleton 추가 (EF Core 권장 패턴).

  • DbContextOptions는 불변 설정 → 싱글톤 공유해도 동작 무변경
  • Hc900DbContext 자체는 Scoped 유지 → 기존 앱 영향 없음

검증

Development(ValidateOnBuild 활성) 재기동 → 이전 크래시 사라지고 HTTP 200 정상 기동. Production도 정상.

🤖 Generated with Claude Code

## 문제 `AddDbContextFactory<Hc900DbContext>`(싱글톤)가 Scoped `DbContextOptions`를 소비 → Development의 `ValidateOnBuild`에서 기동 크래시(`Cannot consume scoped service ... from singleton`). Production(`dotnet run`)에선 검증이 꺼져 잠재. ## 수정 `AddDbContext`에 `optionsLifetime: ServiceLifetime.Singleton` 추가 (EF Core 권장 패턴). - `DbContextOptions`는 불변 설정 → 싱글톤 공유해도 **동작 무변경** - `Hc900DbContext` 자체는 **Scoped 유지** → 기존 앱 영향 없음 ## 검증 Development(ValidateOnBuild 활성) 재기동 → 이전 크래시 사라지고 HTTP 200 정상 기동. Production도 정상. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
windpacer added 1 commit 2026-06-18 10:06:44 +09:00
AddDbContextFactory(싱글톤)가 Scoped DbContextOptions를 소비해 Development의
ValidateOnBuild에서 기동 크래시. optionsLifetime=Singleton으로 옵션을 공유
(불변 설정이라 동작 무변경; DbContext 자체는 Scoped 유지). EF Core 권장 패턴.
Development 재기동으로 검증.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
windpacer merged commit 56628fca7a into main 2026-06-18 10:07:32 +09:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: windpacer/HC900-Crawler#3