【问题标题】:Entity Framework 4.1: Code first error: "the model backing the context has changed since the database was created"实体框架 4.1:代码优先错误:“支持上下文的模型自数据库创建以来已更改”
【发布时间】:2011-09-02 10:15:31
【问题描述】:
  1. 我通过“代码优先”应用程序创建数据库,sql server 不包含数据库。 应用程序运行良好,创建数据库并为我在初始化程序中定义的数据播种。

  2. 我正在运行的服务首次尝试将一些数据添加到数据库中。我得到错误:

支持“yyyContext”上下文的模型在创建数据库后发生了变化。手动删除/更新数据库,或使用 IDatabaseInitializer 实例调用 Database.SetInitializer。例如,DropCreateDatabaseIfModelChanges 策略将自动删除并重新创建数据库,并可选择为其添加新数据。

自数据库创建以来和服务运行时应该没有任何变化。

我正在运行 EF4.1,并且数据库不存在,因此与标题相似的问题不同:

Database.SetInitializer<YourContext>(null);

对我来说不是解决方案。

欢迎对可能出现的问题提出任何想法。

【问题讨论】:

    标签: entity-framework-4.1 ef-code-first


    【解决方案1】:

    哇!片刻,事实证明该服务没有使用与其他应用程序相同的连接字符串。 数据库看起来不一样的原因一定是因为在开发的早期我启动了没有连接字符串的主应用程序,所以它提供了一个本地实例数据库供自己使用。

    后来当我尝试使用该服务时,它试图访问之前的同一个数据库,并且模型从那时起发生了重大变化。

    我将连接字符串指向正确的数据库,一切都从那里开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-17
      • 2014-09-30
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      • 2014-04-19
      • 2011-04-05
      相关资源
      最近更新 更多