gpt4 book ai didi

.net-core - 如何在搭建数据库后运行迁移

转载 作者:行者123 更新时间:2023-12-05 02:11:34 26 4
gpt4 key购买 nike

我有一个使用 EF Core 的 .NET Core 项目。我们在数据库中已有一些表,因此我使用 EF Core 脚手架命令将所有表导入我的应用程序。

一切顺利,我已经构建了模型,我可以使用它们来访问数据库。

现在,我想像 EF Core Code First 方法一样更改我的模型。我更改模型并运行迁移。

但我的迁移失败并显示此错误消息:

错误 CS0102:“mydbContext”类型已包含“激活”的定义

“激活”是我数据库中的表。数据库中的每个 表都会抛出此错误。而且我无法运行迁移。

我的问题是,我该怎么做才能成功运行迁移并继续使用 Code First 方法?

我查看了不同的地方和 Microsoft 文档。但没有显示如何在成功构建脚手架后运行迁移。

PM> Add-Migration Initial -Context MyApp.Models.mydbContext

error CS0102: The type 'mydbContext' already contains a definition for
'Activation'

error CS0102: The type 'mydbContext' already contains a definition for
'Session'

....

我希望成功运行迁移并能够从代码更新数据库表。

最佳答案

解决这个问题的简单方法是删除 Migration 的 Up() 方法(Migrations/initial 文件夹)中的所有函数。

您还应该删除 Down() 方法中对现有表的所有引用。否则,当您使用 Remove-Migration 回滚时,您最终会删除所有开始时使用的现有表。

现在运行 Update-Database 命令。这将同步数据库和模型之间的数据库状态。

现在根据需要更改模型,添加新迁移,然后运行 ​​Update-Database 命令。

希望这对其他人有帮助!

关于.net-core - 如何在搭建数据库后运行迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57357118/

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