При публикации [ASP.NET WebApi + EF6 + SlowCheetah + Azure SQL] webapp из VisualStudio 2015, схемы производственной базы данных обновляются без добавления новой записи миграции в __MigrationHistory
.EntityFramework не добавляет __MigrationHistory record
По этой причине он всегда терпел неудачу при привязке модели EF с сообщением об ошибке, как показано ниже;
Имена столбцов в каждой таблице должны быть уникальными. Название столбца «SomeProperty» в таблице «dbo.CommandModels» указано более одного раза.
Weired Дело в том, что, web.config.dev
применяется для разработки баз данных без каких-либо проблем, но web.config.production
делает такую проблему. Оба файла конфигурации имеют одну и ту же иерархию, кроме строки подключения к базе данных, и мастер Publish
проверял Update Database
тождественно.
Чтобы исправить это, я всегда запускаю update-database -f -script
, скопирую последнюю строку (приведенный ниже сценарий) и выполняю ее в SSMS или VS после публикации. Это средство предоставляется от https://stackoverflow.com/a/13957069/361100.
ВСТАВИТЬ [DBO]. [__ MigrationHistory] ([MigrationId], [ContextKey], [Модель], [ProductVersion]) ЗНАЧЕНИЯ (N'201610070644166_AddAppId 'N'Recognition.WebApi.Migrations.Configuration', 0x1F8B0800000000000400ED5CDD6C00E3377481D67897B9418EFA035E217753DC80C62C8C4C0000, N'6.1.3-40302')
Почему это произошло?