나는 내 인생에서이 오류 메시지를 제거 할 수 없습니다. 나는 할 수있는 거의 모든 것을 시도했다.보류중인 변경 사항이있어 자동 마이그레이션이 비활성화되어 현재 모델과 일치하도록 데이터베이스를 업데이트 할 수 없습니다.
MyDBContext.cs
public MyDBContext() : base("ConnStr_Dev")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyDBContext, DbMigrationsConfiguration<MyDBContext>>());
//Database.SetInitializer<MyDBContext>(null);
base.OnModelCreating(modelBuilder);
}
GenericRepository.cs는
public void Insert(T obj)
{
table.Add(obj); //this is where it throws the error, inserting first time.
}
는 다른 조합으로 모든 이들의 시도
사용-마이그레이션 -EnableAutomaticMigrations -Force을
초기 마이그레이션 추가 -IgnoreChanges
업데이트 데이터베이스
나는 전체 데이터베이스를 삭제하는 마이그레이션 테이블 삭제를 시도했습니다.
마이그레이션 전문가가 만족합니까?
편집 : DAL에는 GenericRepository 및 컨텍스트 클래스가 포함되어 있습니다.
이 줄의 코드는 다음과 같아야합니다 :'Database.SetInitializer (new MigrateDatabaseToLatestVersion()); 이게 효과가 있다고 해설한다면? –
데이터베이스가 최신 상태인지 확인하는 더 좋은 방법은'Database.SetInitializer (new MigrateDatabaseToLatestVersion>());''Application_Start()'메소드로 이동하는 것입니다. –
초기화 프로그램을 정적 생성자로 옮깁니다. 콘솔에서 컨텍스트가있는 프로젝트를 선택했는지 확인하십시오 (또는 명령 매개 변수를 사용하여 가리키고 있음). ID를 사용하고 있습니까? (자체 컨텍스트가 있습니까?) –