2016-10-07 2 views
0

VisualStudio 2015에서 [ASP.NET WebApi + EF6 + SlowCheetah + Azure SQL] 웹 응용 프로그램을 게시하는 동안 새 마이그레이션 레코드를 추가하지 않고 프로덕션 데이터베이스 스키마가 __MigrationHistory으로 업데이트됩니다.EntityFramework가 __MigrationHistory 레코드를 추가하지 않음

이런 이유로 EF 모델 바인딩에서 아래 오류 메시지와 함께 항상 실패했습니다.

각 테이블의 열 이름은 고유해야합니다. 테이블 'dbo.CommandModels'의 'SomeProperty'열 이름이 두 번 이상 지정되었습니다.

Weired 것은 web.config.dev은 어떤 문제없이 개발 데이터베이스에 적용한다는 것입니다,하지만 web.config.production는 문제가 있습니다. 두 config 파일 모두 데이터베이스 연결 문자열을 제외하고 동일한 계층 구조를 가지고 있으며 Publish 마법사는 Update Database을 똑같이 검사했습니다.

이 문제를 해결하려면 항상 update-database -f -script을 실행하고 마지막 줄 (인용 된 스크립트 아래)을 복사 한 다음 게시 한 후 SSMS 또는 VS에서 실행하십시오. 이 치료법은 https://stackoverflow.com/a/13957069/361100에서 제공됩니다.

INSERT [DBO]. [__ MigrationHistory] ([MigrationId], [ContextKey], [모델] [PRODUCTVERSION]) VALUES (N'201610070644166_AddAppId 'N'Recognition.WebApi.Migrations.Configuration' 0x1F8B0800000000000400ED5CDD6C00E3377481D67897B9418EFA035E217753DC80C62C8C4C0000, N'6.1.3-40302 ')

는 왜 이런 일이 발생합니까?

답변

0

잘못된 것이 있습니다.

나는 LogConnectionString에서 [v] update database으로 확인했지만 Publish > Settings 대화 상자에서는 DefaultConnection이 아닙니다. 그것은 스크롤 범위에 의해 보이지 않았습니다.

누군가에게 동일한 문제가있는 경우 오른쪽 연결 고리에 체크했는지 다시 확인하십시오.

관련 문제