如何使用 Entity Framework Core 从删除 ASP.NET 核心中的迁移历史记录中恢复

Hui Liu-MSFT 48,571 信誉分 Microsoft 供应商
2024-03-28T08:08:28.2666667+00:00

我通过从生产站点导入整个数据库(备份它,然后在本地数据库中还原它)不小心删除了本地设置中的 EFMigrationsHistory 表。我现在无法从新的迁移中更新数据库。

我尝试在 Visual Studio 解决方案资源管理器中使用我的 Migrations 文件夹中的 Migration 标识手动更新 EFMigrationHistory 表,但这不起作用。update-database EF 命令给出一条错误消息,指出它正在尝试创建已存在的表。

除了删除本地数据库并从迁移中重新创建它之外,我是否有任何替代方法,在这种情况下,我将不得不从生产数据库导入数据。这不是一个很快乐的想法。

Note:此问题总结整理于:How to recover from deleting Migration History in ASP.NET core using Entity Framework Core

Entity Framework Core
Entity Framework Core
实体框架数据访问技术的轻量型、可扩展、开源、跨平台版本。
50 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Jiale Xue - MSFT 46,456 信誉分 Microsoft 供应商
    2024-03-28T08:50:58.0733333+00:00

    欢迎来到Microsoft Q&A,根据我的测试,我重现了您的问题。

    请从“迁移文件夹”中删除所有现有迁移。

    删除这些迁移后,我发现我可以使用 Add-Migration 和 Update-DataBase 命令成功更新数据库而不会出现问题。

    希望我的建议能帮助你。


    如果答案有帮助,请点击“接受答案”并点赞。

    注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。