0

Azure에 MVC4 EF5 코드 우선 응용 프로그램을 배포하려고합니다. 게시 후이 오류가 사이트에 나타납니다.EF5 코드 우선 Azure 배포 후 사이트에 오류가 발생했습니다.

Error. An error occurred while processing your request.

데이터베이스에 테이블이 생성되지 않았기 때문에 그럴 것 같습니까?

내 ConnectionString을 :

Data Source=tcp:6666666.database.windows.net,1433;Initial Catalog=eatart_db;User [email protected];Password=yourmother 

나는 자동 마이그레이션이 설정에서 활성화하고 난 배포에 그것을 실행 오전 :

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<EatArtDb>()); 
: 내 위해 Application_Start (Global.asax에)에서

internal sealed class Configuration : DbMigrationsConfiguration<EatArt.Models.EatArtDb> 
{ 
     public Configuration() 
     { 
      AutomaticMigrationsEnabled = true; 
     } 
} 

또한. 이 알림은 내 푸른 포털에 표시됩니다.

The server encountered an error while retrieving metrics. Retry the operation.

무엇이 여기에 있습니까? 내가 뭐 잘못하고 있니?

+0

당신은 SQL Azure를 사용하고 있습니까? 아니면 데이터베이스가 다른 곳에서 호스팅되고 있습니까? 하늘에 게시 한 것은 이번이 처음입니까? 아니면 잠시 동안 해왔 는가? –

+0

@BenTidman - 예 sql azure. 그리고 네, 그렇게했습니다. –

+0

@BenTidman - 어느 시점에서 웹 사이트와 데이터베이스를 다시 만들었을 수도 있습니다. 그러나 그렇지 않은 경우에도 동일한 배포 절차를 거쳤습니다. 연결 문자열에 처음으로 전개 할 때 특정 테이블을 작성한 다음 첫 번째 실행 후 다시 제거해야한다는 느낌이 들었습니다. 그게 옳은가? –

답변

0

Ben Tidman이 제안한대로 패키지 관리자 콘솔에서 Update-Database 명령을 Azure 데이터베이스로 실행했습니다. 이로 인해 테이블 ​​생성이 시작되어 바로 페이지 뷰를 배포 할 수있었습니다.

ps. 물론 연결 문자열에 Trusted_Connection=falseencrypt=true을 추가해야했습니다.

0

나는 EF와 비슷한 문제가있었습니다. 나의 접근 방식은 DropCreateDatabaseIfModelChanges을 사용하지 않고 마이그레이션 사용으로 전환하는 것이 었습니다. 다음은이에 DropCreate 줄을 변경

code first migrations

에 유용한 기사입니다 : 당신은 이미 자동 마이그레이션을 가능했지만 이니셜에 사용하지 않을

Database.SetInitializer(new MigrateDatabaseToLatestVersion<EatArtDb, Configuration>()); 

.

+0

통과 오류 :> System.Data.MetadataException : 지정된 스키마가 유효하지 않습니다. 오류 : (0,0) : 오류 0175 : 지정된 저장소 공급자를 구성에서 찾을 수 없거나 유효하지 않습니다. –

+0

그리고 이전에 작업 해 봤는데 DropCreate가 있다는 것을 확신합니다. 어떤 제안? –

+0

연결 문자열의 이름은 무엇입니까? DbContext의 이름과 일치합니까? Azure Portal에서 일치해야합니다. – levelnis

관련 문제