gpt4 book ai didi

entity-framework - Entity Framework : Add-Migration fails with Unable to update database

转载 作者:行者123 更新时间:2023-12-03 11:32:32 30 4
gpt4 key购买 nike

我已经在一个项目(VS2012 Express 中的 ASP.NET MVC)中使用 Entity Framework (5.0)一段时间了。不过,现在我无法再添加迁移。

PM > Add-Migration -projectName MyProject.DAL TestMigration
Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration.

我不知道这是否提供了任何线索,但“无法...”文本显示为红色。

我试图启用自动迁移(这没有意义,因为我试图将挂起的模型更改写入基于代码的迁移),这导致数据库中的所需迁移。然而,这不是我想要的,因为我在项目中没有迁移。

我试图删除数据库并重新创建数据库。重新创建了数据库(直到之前的迁移),但是当我尝试使用 Add-Migration 时,我仍然收到“无法更新..”错误。

编辑

我尝试了 -force 参数,但没有区别。

我的配置类的内容(上次迁移后我没有做任何更改):
    public Configuration()
{
AutomaticMigrationsEnabled = false;
}

protected override void Seed(Bekosense.DAL.Context.BekosenseContext context)
{
context.Database.ExecuteSqlCommand(Properties.Resources.TriggerAlertMessageDrop);
context.Database.ExecuteSqlCommand(Properties.Resources.TriggerAlertMessageCreate);
context.Database.ExecuteSqlCommand(Properties.Resources.TriggerAlertMessageSentDrop);
context.Database.ExecuteSqlCommand(Properties.Resources.TriggerAlertMessageSentCreate);
context.Database.ExecuteSqlCommand(Properties.Resources.AddDbUsers);
}

编辑 2
当我在 DbContext 中注释以下行时,我发现我可以执行添加迁移:
//Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());

当我让上面的行保持事件状态并注释掉配置文件中的所有内容时,它仍然无法工作。
为什么 Database.SetInitializer 行会导致这种奇怪的行为?

最佳答案

您可以重置 Entity Framework 来解决您的问题[但请记住它会将迁移带到默认状态]

注意:在执行以下操作之前进行备份

您需要删除当前状态:

  • 删除项目中的迁移文件夹
  • 删除数据库中的 __MigrationHistory 表(可能在系统表下)

  • 您将在数据库中找到 __MigrationHistory 表 [App_Data 文件夹下]

    然后在包管理器控制台中运行以下命令:
    Enable-Migrations -EnableAutomaticMigrations -Force

    使用或不使用 -EnableAutomaticMigrations

    最后,您可以运行:
    Add-Migration Initial

    This may also help you

    关于entity-framework - Entity Framework : Add-Migration fails with Unable to update database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15930301/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com