모델 변경 후 데이터베이스 업데이트 - Entity Framework 7

asp.net-core-mvc asp.net-mvc c# entity-framework entity-framework-core

문제

가장 최근의 ASP.NET5 MVC 6 Entity Framework 7을 사용하여 앱을 만들고 설치 마이그레이션을 사용하여

dnx . ef migration add Initial
dnx . ef migration apply

이 작동하지만 모델을 변경하면 데이터베이스가 업데이트되지 않습니다. 프로그램을 실행할 때 모델 변경 후 데이터베이스를 자동으로 업데이트하고 싶습니다.

필자의 연구에서는 Entity Framework 7에 적합하지 않은 오래된 정보만을 지적합니다.

내 현재 코드 :

dnx . ef migration add Initial
dnx . ef migration apply

누군가 올바른 방향으로 나를 가리킬 수 있습니까?

나는 이런 식으로 일한다고 생각한다.

dnx . ef migration add Initial
dnx . ef migration apply

수락 된 답변

명령 줄에서 EF7을 사용하여 수동으로 마이그레이션을 실행하거나 코드에서 Database.Migrate를 호출해야합니다. EF7에는 의도적 인 결정 (automagic)이 없으며 모델을 변경 한 후 새 마이그레이션을 만듭니다


인기 답변

마이그레이션 생성과 데이터베이스 구조 업데이트 프로세스간에 약간의 혼란이있는 것으로 보입니다.

EF7에서는 더 이상 자동으로 마이그레이션 (현재 데이터베이스 구조와 엔티티 정의 간의 델타)을 생성 할 수 없습니다. 이 명령은 "migrations add"명령을 사용하여 명령 행에서 수행해야합니다.

그러나 데이터베이스의 구조를 업데이트하는 것은 여전히 ​​코드를 통해 수행 할 수 있습니다. 이는 dbContext.Database.Migrate () 메소드를 사용하여 수행됩니다. 시작 프로그램에서이를 연결하여 앱이 처음 부팅 될 때 현재 버전의 앱으로 데이터베이스가 최신 상태로 유지되도록 할 수 있습니다.

따라서 개발 워크 플로우는 다음과 같습니다.

  1. 엔티티 정의를 수정하십시오.
  2. "migrations add"명령을 실행하십시오.
  3. 앱 실행 *

    • 위의 3 번은 Startup에서 위에서 언급 한 Migrate () 호출을 연결했다고 가정합니다. 그렇지 않으면 "데이터베이스 업데이트"명령을 수동으로 실행해야합니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.