오늘은 슬픈 날입니다. 첫 번째 일은 오늘 "데이터베이스가 생성 된 이후 'DomainContext'컨텍스트를 지원하는 모델이 변경되었음을 알리는 EF 예외가 발생했습니다.". 자정과 가까워서이 오류가 계속 표시됩니다. . - 이것은 내 경력의 끝 나는 확신 아무것도 모델에서 변경되었습니다, 아직 오류가 등장 해요 (Entity Framework에서 빈 마이그레이션을 생성하지만 내 모델이 다르다고 주장합니다
나는 새로운 마이그레이션을 만드는 시도, 그것은 빈 나왔다 :
public void Up()
{
}
public void Down()
{
}
이 마이그레이션을 적용하면 어떤 좋은하지 않았다 - 오류가 난 널이기 위하여 initialiser를 설정하는 것이 일반적 제안을 사용했습니다 지속 :..
Database.SetInitializer<DomainContext>(null);
를 그리고 그것이 내가 데이터베이스에 액세스 할 때 오류가 사라 만든하지만이 귀찮게 나. 대단히 - 코드를 통해 마이그레이션을 실행하려고 할 때마다 나는 simil을 본다. 다시 아칸소 오류 :
var configuration = new Migrations.Configuration();
configuration.TargetDatabase = new DbConnectionInfo("correct connection string", "System.Data.SqlClient");
var migrator = new DbMigrator(configuration);
migrator.Update(); // <<-- exception is thrown here
예외 던지기는 다음과 같습니다 : System.Data.Entity.Migrations.Infrastructure.AutomaticMigrationsDisabledException을 : 보류중인 변경 및 자동 마이그레이션이 있기 때문에 현재의 모델과 일치하는 데이터베이스를 업데이트 할 수 없습니다 비활성화 . 보류 모델 변경 사항을 코드 기반 마이그레이션에 기록하거나 자동 마이그레이션을 활성화하십시오. 자동 마이그레이션을 사용하려면 DbMigrationsConfiguration.AutomaticMigrationsEnabled를 true로 설정하십시오.
이전에 6.0.2로 업데이트되었지만 차이점이 없었습니다.
내가 Nuget 콘솔을 통해 마이그레이션을 실행할 수있는 날 귀찮게 또 다른 것은 :
Update-Database
실행합니다 벌금과 문제를 제공하지 않습니다. 하지만 DB의 initialiser를 설정하면 자동으로 마이그레이션을 실행합니다 :
보류중인 변경 및 자동 마이그레이션이 있기 때문에 현재의 모델과 일치하는 데이터베이스를 업데이트 할 수 없습니다var initializer = new MigrateDatabaseToLatestVersion<DomainContext, Migrations.Configuration>();
Database.SetInitializer(initializer);
var domainContext = new DomainContext();
domainContext.Database.Initialize(true); // <<-- this throws exception
사용할 수 없습니다. 보류 모델 변경 사항을 코드 기반 마이그레이션에 기록하거나 자동 마이그레이션을 활성화하십시오. 자동 마이그레이션을 사용하려면 DbMigrationsConfiguration.AutomaticMigrationsEnabled를 true로 설정하십시오.
실제 질문은 Nuget 콘솔과 마이그레이션 DB-Initialiser를 통해 실행할 때 모델에 대해 다른 해시가있는 이유는 무엇입니까? 어떻게 다른지 (db-state와 모델)를 어떻게 찾을 수 있습니까? 그리고 이것을 고치는 방법, 그래서 해킹 (db-initaliser에 null 할당)을 사용할 필요가 없습니까?
가짜 변경을 시도해보십시오. 테이블에 필드를 추가하고 마이그레이션을 생성 할 때 EF가 수행하는 작업을 확인하고 나중에 해당 필드를 제거한다고 가정 해 보겠습니다. –
마이 그 레이션에서 그 분야와 그 이상을 추가하려고 시도했습니다. 나는 현재 EF 코드를 실행 중이며 오류의 원인을 찾은 것 같습니다. 일단 수정하면 블로그 포스트를 게시 할 것입니다. 다른 사람들에게 유용 할 수 있습니다. – trailmax
@Guillelon이 문제를 발견했습니다. [AllowHtml] 속성이 모델의 속성 중 하나에 적용되었습니다. – trailmax