【发布时间】:2021-02-25 07:03:51
【问题描述】:
我想了解迁移在实体框架中是如何工作的,ef 如何知道应该将哪个迁移应用于数据库? 我看到在每个数据库中都有一个包含迁移列表的 __MigrationHistory 表。
在将特定迁移应用到数据库之前,ef 是否会比较该表中的迁移和项目中的迁移?
【问题讨论】:
标签: entity-framework entity-framework-migrations
我想了解迁移在实体框架中是如何工作的,ef 如何知道应该将哪个迁移应用于数据库? 我看到在每个数据库中都有一个包含迁移列表的 __MigrationHistory 表。
在将特定迁移应用到数据库之前,ef 是否会比较该表中的迁移和项目中的迁移?
【问题讨论】:
标签: entity-framework entity-framework-migrations
应用迁移的历史记录在__EFMigrationsHistory 表中。当 EF 将代码中的迁移列表与数据库中应用的迁移列表进行比较时。因此,它会尝试按照创建时间的顺序将新的迁移应用到数据库。
此外,EF Core 会忽略数据库中列出并从代码中删除的项目。
通过将迁移保留在您的代码中,您可以按照它们应用于数据库并在__EFMigrationsHistory 表中列出的顺序逐步撤消方案。
【讨论】: