我已经检查了其他问题并在谷歌搜索,但我找到了很多解决方案......
哪个最好?
当 DataModel 更改时,我需要更改表,并且我需要一个自动解决方案(就像 DropCreateDatabaseIfModelChanges 一样..
非常感谢所有回复
我已经检查了其他问题并在谷歌搜索,但我找到了很多解决方案......
哪个最好?
当 DataModel 更改时,我需要更改表,并且我需要一个自动解决方案(就像 DropCreateDatabaseIfModelChanges 一样..
非常感谢所有回复
您可以进行 CodeFirst 迁移。CodeFirst 迁移。您需要 EF 5 二进制文件。
Enable-Migrations –EnableAutomaticMigrations
在包管理器控制台中运行命令
Add-Migration
将根据您对模型所做的更改为下一次迁移搭建支架。
Update-Database
将对数据库应用任何挂起的更改。
要更新实体框架 EDMX 并将其与数据库更改同步,请在 VS2010 解决方案资源管理器中双击 EDMX。这会为设计器(模型浏览器窗口显然就是它的名称)提供实体的类布局。右键单击设计器表面上的任意位置,您将在对话框中看到“从数据库更新模型”选项。单击此按钮,您将进入更新向导,您可以在其中选择要添加的数据库对象(如果是新的),但默认情况下它会刷新现有对象。
向导似乎没有做的一件事是从现有对象中删除列。可能是某种安全机制,但是如果您从数据库中删除了该列,您真的想将它保留在您的实体中吗?嗯,谁知道呢。
它总是不能很好地工作。就我而言,我尝试使用模型编辑器手动创建任何内容,因此每次修改数据库模型时,我都会打开 EDMX 编辑器,选择所有实体并删除它们,然后右键单击模型并选择选项:更新自数据库。当对象列表出现时,我选择所有表和下一个。它更新模型。