이제 EF6 Alpha를 사용하고 있습니다. 마이그레이션을 사용하면 __MigrationHistory 테이블에 새로운 마이그레이션 로그가 추가됩니다.Entity Framework 6 코드 첫 번째 마이그레이션 ContextKey
EF6에서 __MigrationHistory 테이블에는 "ContextKey"라는 새 열이 있습니다. 내가 코드를 실행하면
이DbContext의 파생 class.This의 전체 이름이 발생 : 테스트 후, 나는 두 개의 기본 "ContextKey"가치가 발견
Database.CreateIfNotExists();
DbMigrationsConfiguration의의 전체 이름 파생 클래스. 내가 코드를 실행할 때이 문제가 발생 :
public ArticleDbContext() { Database.SetInitializer(new MigrateDatabaseToLatestVersion<ArticleDbContext, ArticleConfiguration>()); }
내가 응용 프로그램을 처음 실행 "Database.CreateIfNotExists을();" 저를 위해 새 데이터베이스를 만들고 ArticleDbContext에 정의 된 모델에 매핑되는 모든 테이블을 만든 다음 ContextKey 값이 "Module.Article.Model.ArticleDbContext"인 __MigrationHistory 행을 추가하십시오.
그리고 "Database.SetInitializer (new MigrateDatabaseToLatestVersion());" 이 코드는 새로운 ContextKey "PowerEasy.Module.Article.Migrations.ArticleConfiguration"을 생성합니다. Migration이 ContextKey가있는 __MigrationHistory 테이블을 쿼리하고 데이터가 없음을 확인합니다. 그래서 다시 ArticleDbContext에 정의 된 모델에 매핑되는 모든 테이블을 만들지 만 테이블은 이미 데이터베이스에 있으므로 예외가 throw되어 "테이블 XXX가 이미 존재합니다"라고 알려줍니다.
어떻게 해결할 수 있습니까?
고맙습니다. 해결해 보았습니다. – RongieZeng