EntityFramework不会添加__MigrationHistory记录

时间:2016-10-07 08:15:10

标签: c# asp.net entity-framework msdeploy

从VisualStudio 2015发布[ASP.NET WebApi + EF6 + SlowCheetah + Azure SQL] webapp时,生成数据库模式会更新,而不会向__MigrationHistory添加新的迁移记录。

因此,EF模型绑定总是失败,错误信息如下所示;

  

每个表中的列名必须是唯一的。专栏名称' SomeProperty'在表格中,dbo.CommandModels'被指定不止一次。

我们想到的是,web.config.dev没有任何问题地应用于开发数据库,​​但是web.config.production会产生这样的问题。两个配置文件具有相同的层次结构,但数据库连接字符串和Publish向导已同样检查Update Database

要解决此问题,我总是运行update-database -f -script,复制最后一行(在引用脚本下面),并在发布后在SSMS或VS中执行它。这种补救措施来自https://stackoverflow.com/a/13957069/361100

  

INSERT [dbo]。[__ MigrationHistory]([MigrationId],[ContextKey],[Model],[ProductVersion])   VALUES(N' 201610070644166_AddAppId',N' Recognition.WebApi.Migrations.Configuration',0x1F8B08000000000000000400ED5CDD6C00E3377481D67897B9418EFA035E217753DC80C62C8C4C0000,N' 6.1.3-40302')

为什么会这样?

1 个答案:

答案 0 :(得分:0)

我的坏。

我在LogConnectionString检查了[v] update database,而不是DefaultConnection对话框中的Publish > Settings。滚动范围无法看到它。

如果有人遇到同样的问题,请仔细检查您是否选择了正确的连接字符串。