gpt4 book ai didi

sql-server - 我无法使用 Entity Framework Core 更新数据库

转载 作者:行者123 更新时间:2023-12-03 00:18:42 25 4
gpt4 key购买 nike

我有一个使用 SQL Server 和 EF Core 的 ASP.NET Core 应用程序。它包含两个表。我成功创建了 Entity Framework Core 迁移,并用它更新了第一个名为 Pies 的表的数据库。

然后,在添加另一个名为 Feedbacks 的表后,我创建了第二个迁移。

但是,当我尝试更新数据库时,它失败并收到此错误:

Error Number:2714,State:6,Class:16
There is already an object named 'Pies' in the database.

这是DbContext类:

public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
{
}

public DbSet<Pie> Pies { get; set; }
public DbSet<Feedback> Feedbacks { get; set; }
}

最佳答案

由于您通过删除迁移文件弄乱了 EF Core 迁移的记录历史记录,并且您的快照也受到污染,因为您在删除迁移后重新运行了迁移。

以下是您应该采取的步骤:

  1. 删除所有剩余的迁移
  2. 删除数据库
  3. 创建新的初始迁移
  4. 创建一个新数据库。

将来为了避免这些错误,请使用 git 等版本控制系统。在创建任何迁移之前提交。请注意,您需要从数据库的 _EfMigrations 表中删除错误应用到数据库的迁移,因为 git 不对您的数据库进行版本控制。

关于sql-server - 我无法使用 Entity Framework Core 更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58413505/

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