【问题标题】:How Migrations are applied to the database? [closed]迁移如何应用于数据库? [关闭]
【发布时间】:2021-02-25 07:03:51
【问题描述】:

我想了解迁移在实体框架中是如何工作的,ef 如何知道应该将哪个迁移应用于数据库? 我看到在每个数据库中都有一个包含迁移列表的 __MigrationHistory 表。

在将特定迁移应用到数据库之前,ef 是否会比较该表中的迁移和项目中的迁移?

【问题讨论】:

标签: entity-framework entity-framework-migrations


【解决方案1】:

应用迁移的历史记录在__EFMigrationsHistory 表中。当 EF 将代码中的迁移列表与数据库中应用的迁移列表进行比较时。因此,它会尝试按照创建时间的顺序将新的迁移应用到数据库。

此外,EF Core 会忽略数据库中列出并从代码中删除的项目。

通过将迁移保留在您的代码中,您可以按照它们应用于数据库并在__EFMigrationsHistory 表中列出的顺序逐步撤消方案。

【讨论】:

  • 此外,EF Core 会忽略数据库中列出并从代码中删除的项目。你能解释一下吗?
  • 我的意思是,如果您删除了已应用的迁移,您不会遇到任何问题,因为 EF Core 仅尝试应用代码中存在但未应用到数据库的迁移
猜你喜欢
  • 2021-05-01
  • 2013-04-17
  • 2011-12-22
  • 1970-01-01
  • 2014-12-15
  • 2016-02-10
  • 2017-08-19
相关资源
最近更新 更多