2017-05-18 1 views
2

"GunControl"이라는 새 테이블을 데이터베이스에 추가 할 수 있도록 코드 첫 번째 마이그레이션을 수정하려고합니다. 그러나 패키지 관리자에 "Add-Migration GunControl"을 입력하면 다음과 같은 오류 메시지가 나타납니다.Visual Studio 커뮤니티 에디션에서 보류중인 명시 적 마이그레이션을 어떻게 적용합니까? (ASP.Net)

"다음 명시 적 마이그레이션이 보류 중이므로 명시 적 마이그레이션을 생성 할 수 없습니다 : [201705171404346_Questionnaire]. 보류중인 명시 적 마이그레이션을 적용하십시오. 새 명시 적 마이그레이션을 생성하기 전에 시도합니다. "

QuestionnaDbEntities.mdf는 db의 이름이고 GunControl은 Questionnaire 클래스에서 상속받습니다. 나는 어디에서나 온라인으로 보았고, 이것을 할 수있는 방법을 찾을 수 없다. 시간 내 주셔서 대단히 감사합니다!

답변

2

기존 데이터베이스가 이미 연결되어 있기 때문에 발생합니다. 데이터베이스는 마이그레이션에 적용된 마이그레이션을 추적하며 Add-Migration을 실행하면 데이터베이스 스키마를 모델과 비교하고 이전에 실제 데이터베이스에 적용되지 않은 마이그레이션을 만든 것으로 간주됩니다 (201705171404346_Questionnaire). 이 때문에 새 마이그레이션은 데이터베이스를 비교할 때 스키마에서 변경된 사항을 판별 할 수 없습니다.

옵션은 다음과 같습니다

  1. 실행 Update-Database 이전 마이그레이션을 적용 할 수 있습니다.
  2. 마이그레이션 파일 201705171404346_Questionnaire.cs을 삭제 한 다음 Add-Migration을 다시 실행하십시오. 두 세트의 변경 사항이 모두 포함됩니다.
  3. 전체 데이터베이스와 모든 마이그레이션 파일을 삭제 한 다음 Add-Migration을 실행하여 초기 스키마를 만듭니다.
관련 문제