【问题标题】:Entity Framework: How to disable model compatibility check in Code First Migrations实体框架:如何在 Code First 迁移中禁用模型兼容性检查
【发布时间】:2012-10-12 16:58:39
【问题描述】:

我想创建一个数据库初始化程序,无论模型是否处于正确状态,它都会运行所有挂起的迁移。 IE。我希望初始化程序运行所有迁移,即使它认为模型状态自生成迁移以来发生了变化,这样它就不会出现以下错误:

无法更新数据库以匹配当前模型,因为存在待处理的更改并且自动迁移已禁用。

有谁知道我怎样才能让它工作?

【问题讨论】:

    标签: c# entity-framework ef-code-first migration entity-framework-migrations


    【解决方案1】:

    开启自动迁移。该错误表示它无法使您的数据库与您的代码同步,因为您的类包含不在任何基于代码的迁移中的更改。

    【讨论】:

    • 开启自动迁移有什么副作用?我担心它会尝试执行我不希望它执行的架构更改。我的解决方案包含两个上下文,它们指向同一个数据库(一个继承另一个),但驻留在两个不同的程序集中,并且迁移被分成两个不同的程序集(每个程序集都包含与相关上下文相关的架构迁移)。因此,我不想打开自动迁移只是为了让它自动运行一些迁移代码,然后在其他上下文迁移时尝试再次运行它。
    • 我想我已经想出了一个解决方案,将在周末进行测试并在周一回复您。感谢cmets。 (顺便说一句,在 Stackoverflow 上几乎每个 EF 代码第一个问题都成为熟悉面孔,做得很好!你喜欢 Code First Yoda 吗??)
    猜你喜欢
    • 2013-04-04
    • 2015-07-03
    • 2012-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多