【问题标题】:EntityFramework does not add __MigrationHistory recordEntityFramework 不添加 __MigrationHistory 记录
【发布时间】:2017-02-16 04:17:02
【问题描述】:

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

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

每个表中的列名必须是唯一的。表“dbo.CommandModels”中的列名“SomeProperty”被指定了多次。

奇怪的是,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], [Model], [ProductVersion]) 值(N'201610070644166_AddAppId',N'Recognition.WebApi.Migrations.Configuration',0x1F8B0800000000000400ED5CDD6C00E3377481D67897B9418EFA035E217753DC80C62C62C8C4C0040302,N')。

为什么会这样?

【问题讨论】:

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


    【解决方案1】:

    我的坏。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-09
      相关资源
      最近更新 更多