EF 如何通过迁移更新我的数据库

问题描述 投票:0回答:1

所以,我从这个命令开始:

Scaffold-DbContext "ConnectionString" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context MyContext -DataAnnotations -Force

*我认为 ConnectionString 是不言自明的。

之后,我在我的项目中看到了数据库中代表的类。

现在我的问题: 如何正确更新数据库?

我从添加迁移开始。

dotnet ef migrations add InitialCreate

现在我尝试使用以下命令在我的数据库上使用此迁移。

dotnet ef database update

最后我得到一个错误:

错误号:2714,状态:6,类别:16 数据库中已有一个名为“...”的对象。

当我尝试添加新迁移时,我使用迁移命令和迁移名称。但 InitialCreate 迁移首先开始。

有人可以帮我解决我的问题吗? 或者我的错误是什么。我做错了什么?

entity-framework ef-database-first
1个回答
0
投票

如果你从代码优先开始。然后

add-migration
update-database
。检查数据库,你会发现多了一张名为
dbo._EFMigrationHistory
的表。

这个表有“迁移文件名”和“efcore版本”的记录


所以你可以自己创建这个表。并填写任何“迁移文件名”和“efcore版本”。它将跳过并使用尚未在此表中的文件。更新后会记录使用过的迁移文件。 (您可以从另一个代码优先项目复制“dbo._EFMigrationHistory”)

© www.soinside.com 2019 - 2024. All rights reserved.