1

运行我的 mvc 4 应用程序时收到以下错误。

自数据库创建以来,支持“DMSContext”上下文的模型已更改。考虑使用 Code First 迁移来更新数据库

我正在针对现有数据库运行我的应用程序,并且不想在每次模型更改时重新创建数据库。

我在谷歌上找到了很多答案,但没有一个有效。

具体来说,我尝试将以下内容添加到我的 global.asax 中:

Database.SetInitializer<DMSContext>(null);

Database.SetInitializer<DMSContext<Contact>>(null);

在上面,DMSContext 就是 DbContext。联系是导致错误的更改起源的模型。

我还尝试将以下内容添加到我的上下文类中:

public DMSContext() : base()
          {
             Configuration.AutoDetectChangesEnabled = false;
          }

我遵循的大部分方向都来自此页面,但没有运气。

自创建数据库以来,支持 <Database> 上下文的模型已更改

4

3 回答 3

2

虽然你不使用迁移尝试创建一个,不要运行它,但你将能够看到与数据库的差异。

于 2013-04-08T15:43:47.647 回答
2

如果您正在使用Entity Framework Code First,建议您在应用程序中启用迁移。为此,请参阅此链接

现在,每次您更改代码中的某些内容(主要是实体)时,只需构建然后Update-Database -Force在您的Package Manager Console.

如果您还有其他问题,请告诉我。

于 2013-04-08T18:06:25.687 回答
2

检查继承 DbContext 的类的名称。它的名称必须与 Web.config 中的 connectionString 的名称相同

<connectionStrings>
    <add name="TheSameNameAsYourDbContextClass" providerName="" connectionString="" />
  </connectionStrings>
于 2014-03-21T10:29:28.927 回答