在手动数据库编辑后同步迁移并继续 CodeFirst

Sync Migrations and continue CodeFirst after manual DB edit

我在带有 SQL 服务器数据库的 .NET Core 项目中使用代码优先迁移。但是由于自己解封,我的同事不得不手动更改数据库表。有没有一种优雅的方式将迁移与数据库同步,并在手动干扰后继续使用代码优先?

再补充一点,错误是这样的:

Column names in each table must be unique. Column name 'xxx' in table 'xxx' is specified more than once.

当然 - 这是因为数据库中已经存在该列。

谢谢!

当您的更改与他的更改相匹配时,这是可能的。

只需使用 Script-Migration 命令并从生成的脚本中删除目标数据库中已有的命令(更改、创建等)。

最后保留INSERT INTO [__EFMigrationsHistory] ...命令。