이전 버전의 Entity Framework에서는 DbMigrator 클래스를 사용하여 프로그래밍 방식으로 코드 우선 마이그레이션을 제어 할 수있었습니다 (예 : 사용 가능한 마이그레이션 확인 및 적용). 그 클래스는 여전히 어딘가에 존재합니까 아니면 기능 대체가 있습니까? 나는 초기 RC 버전에서 대체물을 가리키는 글을 발견했으나 그것도 코어 1.0에서 사라진 것으로 보인다. 문제없이 CLI를 통해 마이그레이션을 제어 할 수는 있지만 사용자 정의 툴링 시나리오를위한 코드 내 솔루션이 필요하다고 생각합니다.Entity Framework 코드를 사용하여 코어 1.0 코드 우선 마이그레이션?
5
A
답변
6
기능 대체는 주로 Microsoft.EntityFrameworkCore.Migrations 네임 스페이스에있는 API의 몇 가지 위치에서 찾을 수 있습니다.
일부 장소
는 볼 수 있습니다 :IMigrator.Migrate
를 제외
현재 마이그레이션을 찾기 위해
IMigrationAssembly
( DbContext.Database.Migrate()
를 호출 한 것과 같은 상태가된다) IHistoryRepository.GetAppliedMigrations()
IMigrator.Migrate(string targetMigration)
-
, 이러한 API를 사용하는 것은 일반적으로 ervice out of
internal EF Core's service container. 이것은 dbcontext에서
.GetService<TService>()
을 호출하여 수행됩니다.
예 :
var migrator = context.GetService<IMigrator>().Migrate();
비슷한 뭔가를 찾고이 질문에 오는 사람들을 위해
+0
GetService
+0
그것은'Microsoft.EntityFrameworkCore.Infrastructure' 네임 스페이스에 있습니다. 추가 패키지가 필요하지 않습니다. – natemcmaster
하지만, ASP.NET MVC 코어 1.0 엔티티 프레임 워크 코어 1.0이 참조 : http://stackoverflow.com/ 질문/38282138/run-database-migrations-using-entity-framework-on-application-start –