c# - 当我的代码迁移落后于数据库迁移时, Entity Framework 如何找到 Down() 方法?

标签 c# .net asp.net-mvc entity-framework ef-code-first

假设我是一名开发人员,我检查了旧版本的代码,这样我的本地数据库就“领先”了,比如

local db migrations: A -> B -> C -> D
    code migrations: A -> B

我如何通过运行来解决这个问题

Update-Database -TargetMigration -B

在 PCM 中。据我了解,运行

D.Down()
C.Down()

但是,如果这些方法不在我 checkout 的代码中,EF 会在哪里找到这些方法?它们是否在 __MigrationHistory[Model] 列中?我认为该列只存储模型,不存储迁移。

最佳答案

旧版本的代码不可能知道如何回滚数据库。该信息保存在当前版本中。您需要使用当前版本执行 Update-Database -TargetMigration -B然后检查旧版本。

关于c# - 当我的代码迁移落后于数据库迁移时, Entity Framework 如何找到 Down() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49224656/

相关文章:

c# - EF Code First - 无法将值 NULL 插入列

c# - 我怎样才能使这段代码更优化

c# - 基于接口(interface)的编程,我做对了吗?

javascript - 调用 div 的 id,其中 id 看起来像 id=@something

c# - 为什么不能同时定义隐式和显式运算符?

c# - 无法将 .List<string> 转换为字符串

json - 如何通过来自 Asp.Net Core 中间件的 JsonResult 做出响应?

c# - razor view MVC c# 中 2 个后代模型的 Foreach 循环

c# - 电子邮件中的 Unicode 字符不会引发异常

c# - 使用 C# 创建动态按钮并按预定义的顺序放置它们