我已经检查了其他问题,并在谷歌搜索,但我发现了很多解决方案...什么是DropCreateDatabaseIfModelChanges(MVC3)的最佳选择?
什么是最好的?
我需要改变表数据模型发生变化时,我需要一个自动解决方案(如DropCreateDatabaseIfModelChanges呢..
非常感谢所有答复
我已经检查了其他问题,并在谷歌搜索,但我发现了很多解决方案...什么是DropCreateDatabaseIfModelChanges(MVC3)的最佳选择?
什么是最好的?
我需要改变表数据模型发生变化时,我需要一个自动解决方案(如DropCreateDatabaseIfModelChanges呢..
非常感谢所有答复
您可以参加CodeFirst Migrations。 CodeFirst Migrations。您需要EF 5二进制文件。
在软件包管理控制台
Add-Migration
运行Enable-Migrations –EnableAutomaticMigrations
命令将脚手架基于您对您的模型所做的更改在下一次迁移。 Update-Database
将对数据库应用任何挂起的更改。
更新实体框架EDMX和同步它与你的数据库的变化,你双击VS2010解决方案资源管理器中的EDMX。这带来了设计师(模型浏览器窗口显然是它所谓的)与实体的类布局。右键单击设计器表面上的任何地方,会在对话框中看到一个选项,“从数据库中更新模型”。点击此按钮,您将进入更新向导,您可以在其中选择数据库对象想要添加的cts(如果新建),但默认情况下刷新现有的对象。
向导似乎没有做的一件事是从现有对象中删除列。可能是某种安全机制,但是如果你从数据库中删除了列,你是否真的想把它留在你的实体中?啊,谁知道。
它一直不能很好地工作。在我的情况下,我尝试用模型编辑器手动创建任何东西,所以每次修改我的数据库模型时,我打开EDMX编辑器,选择所有实体,然后删除它们,然后右键单击模型并选择选项:从数据库。 当对象列表出现时,我选择所有表格和下一个。它更新模型。