Asp.net mvc 3 DropCreateDatabaseIfModelChanges(MVC3)的最佳替代方案是什么?

Asp.net mvc 3 DropCreateDatabaseIfModelChanges(MVC3)的最佳替代方案是什么?,asp.net-mvc-3,Asp.net Mvc 3,我已经检查了其他问题并在谷歌上搜索了,但我找到了很多解决方案 什么是最好的 我需要在数据模型更改时更改表,并且需要像DropCreateDatabaseIfModelChanges那样的自动解决方案 非常感谢所有回复要更新实体框架EDMX并将其与数据库更改同步,请双击VS2010解决方案资源管理器中的EDMX。这将打开designer Model Browser(设计器模型浏览器)窗口,它显然是实体的类布局。在设计器界面的任意位置单击鼠标右键,您将在对话框中看到“从数据库更新模型”选项。单击此选

我已经检查了其他问题并在谷歌上搜索了,但我找到了很多解决方案

什么是最好的

我需要在数据模型更改时更改表,并且需要像DropCreateDatabaseIfModelChanges那样的自动解决方案


非常感谢所有回复

要更新实体框架EDMX并将其与数据库更改同步,请双击VS2010解决方案资源管理器中的EDMX。这将打开designer Model Browser(设计器模型浏览器)窗口,它显然是实体的类布局。在设计器界面的任意位置单击鼠标右键,您将在对话框中看到“从数据库更新模型”选项。单击此选项,您将进入更新向导,在该向导中,您可以选择要添加的数据库对象(如果是新的),但默认情况下,它会刷新现有对象


向导似乎没有做的一件事是从现有对象中删除列。可能是某种安全机制,但如果从数据库中删除了该列,是否确实要将其保留在实体中?啊,谁知道呢。

要更新实体框架EDMX并将其与数据库更改同步,请双击VS2010解决方案资源管理器中的EDMX。这将打开designer Model Browser(设计器模型浏览器)窗口,它显然是实体的类布局。在设计器界面的任意位置单击鼠标右键,您将在对话框中看到“从数据库更新模型”选项。单击此选项,您将进入更新向导,在该向导中,您可以选择要添加的数据库对象(如果是新的),但默认情况下,它会刷新现有对象


向导似乎没有做的一件事是从现有对象中删除列。可能是某种安全机制,但如果从数据库中删除了该列,是否确实要将其保留在实体中?啊,谁知道呢。

您可以进行CodeFirst迁移。你需要EF5二进制文件

在Package Manager控制台中运行Enable Migrations–EnableAutomaticMigrations命令

添加迁移将根据您对模型所做的更改构建下一次迁移。
更新数据库将对数据库应用任何挂起的更改。

您可以进行CodeFirst迁移。你需要EF5二进制文件

在Package Manager控制台中运行Enable Migrations–EnableAutomaticMigrations命令

添加迁移将根据您对模型所做的更改构建下一次迁移。
“更新数据库”将对数据库应用任何挂起的更改。

它不会一直正常工作。在本例中,我尝试使用模型编辑器手动创建任何内容,因此每次修改数据库模型时,我都会打开EDMX编辑器,选择所有实体并删除它们,然后右键单击模型并选择选项:从数据库更新。
当对象列表出现时,我选择all table和next。它更新了模型。

它不是一直运行良好。在本例中,我尝试使用模型编辑器手动创建任何内容,因此每次修改数据库模型时,我都会打开EDMX编辑器,选择所有实体并删除它们,然后右键单击模型并选择选项:从数据库更新。 当对象列表出现时,我选择all table和next。它会更新模型