【问题标题】:Code First Entity Framework 6 rebuild project triggers context changeCode First Entity Framework 6 重建项目触发上下文更改
【发布时间】:2014-07-17 11:02:48
【问题描述】:

我已经建立了一个包含多个项目的解决方案,其中一个用于我的模型,一个用于数据库上下文(以及相关的迁移)。我有两个上下文 - 一个用于我的标准数据库 (ContextA),另一个用于 ASP.NET 标识表 (ContextB)。 (我不知道如何让这些“合并”到我现有的上下文中,但它们确实都指向同一个数据库)。

每次在我的解决方案中重建任何项目时,我都会收到错误消息“支持 'ContextA' 上下文的模型自创建数据库以来已更改”,我必须为任一上下文执行更新数据库才能继续。

我发现我根本不需要进行添加迁移(对任一上下文执行此操作都会导致 Up() 和 Down() 方法为空)。

谁能告诉我什么会触发模型改变的上下文?

我是否应该考虑只将 Update-Database 添加到构建脚本中?

【问题讨论】:

  • 你有 2 个 db 上下文,你为什么不合并它们呢?
  • @YuliamChandra - “我不知道如何让这些“合并”到我现有的上下文中,但它们确实都指向同一个数据库”在第一段中。跨度>
  • 不知道为什么不能合并它们,只需要在单个数据库上下文中合并 DbSet 集合,看看here

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


【解决方案1】:

您数据库中的迁移历史表通常与一个上下文相关联,然后该上下文会与您的模型进行比较以使所有内容保持同步。我明白你为什么会出现这种奇怪的行为。每个应用程序实例有两个上下文,但我也有两个数据库。

我建议您合并上下文和模型,或者将它们拆分到不同的数据库中(这在您的应用设计中是有意义的)。这将解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 2013-05-20
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多