1

我第一次使用 VS2012 和 EF5。我开发的应用程序就像 MVC3 、 EF4.1 应用程序一样,没有使用任何新功能。我已经有一个数据库,我创建了数据库上下文、模型、控制器和视图。每件事都运行良好。然后我在数据库中创建了一个新表 Directorate,在 dbcontext 中创建了它的模型和数据库映射。在创建它的控制器时,我选择了“使用实体框架进行读/写操作的 MVC 控制器”作为体验,看看会发生什么。我选择了我的上下文和模型。当我运行该应用程序时,它在 db 中创建了一个名为 DirectorateModel 的新表,并在上下文中插入了映射。由于我已经创建了表和映射,因此我删除了由于此操作而添加的每个新功能,即我删除了表、上下文映射、控制器和视图。

但是现在当我运行应用程序时,它会给出错误:

自创建数据库以来,支持“ArchieveingDBContext”上下文的模型已更改。考虑使用 Code First 迁移来更新数据库 (http://go.microsoft.com/fwlink/?LinkId=238269)

我访问了提到的 url,但它是关于我不想使用的代码优先迁移。任何人请帮助我如何解决这个问题,我想我必须删除由于选择错误的脚手架选项而创建的东西。

我只希望我的应用程序在以前的工作状态下运行。

4

3 回答 3

0

您可以通过调用来修复它:

Database.SetInitializer(null);

在 Global.asax 的 Application_Start 方法中

您不想在这样的现有数据库之上进行初始化。

见:这个问题

于 2013-03-30T00:02:36.150 回答
0

您只需要设置正确的数据库初始化程序:

Database.SetInitializer<YourContextType>(new CreateDatabaseIfNotExists())

和这项工作

于 2013-01-13T12:28:44.303 回答
0

从您的 .EDMX 模型和您使用脚手架创建的控制器/视图中删除 Directorate 实体。

根据需要更改数据库,然后转到 VS 模型设计器(只需打开您的 .EDMX 模型)Update model from database并保存更改。

现在您可以通过脚手架添加视图/控制器,而无需担心......

于 2013-07-27T10:51:20.547 回答