我已经检查了其他问题并在谷歌搜索过,但我找到了很多解决方案......
什么是最好的?
我需要在DataModel更改时更改表,我需要一个自动解决方案(如DropCreateDatabaseIfModelChanges那样..
非常感谢所有回复
答案 0 :(得分:1)
您可以进行CodeFirst迁移。 CodeFirst Migrations。你需要EF 5二进制文件。
在程序包管理器控制台中运行Enable-Migrations –EnableAutomaticMigrations
命令
Add-Migration
将根据您对模型所做的更改来支持下一次迁移。
Update-Database
将对数据库应用任何挂起的更改。
答案 1 :(得分:0)
要更新Entity Framework EDMX并将其与数据库更改同步,请双击VS2010 Solution Explorer中的EDMX。这会使设计者(模型浏览器窗口显然就是所谓的)与实体的类布局一起显示出来。右键单击设计器表面上的任意位置,您将在对话框中看到“从数据库更新模型”中的选项。单击此按钮,您将进入更新向导,您可以在其中选择要添加的数据库对象(如果是新的) ),但默认情况下会刷新现有对象。
向导似乎没有做的一件事是从现有对象中删除列。可能是某种安全机制,但是如果你从数据库中删除了这个列,你真的想把它保留在你的实体中吗?啊,谁知道呢。
答案 2 :(得分:0)
它始终不能很好地运作。在我的情况下,我尝试用模型编辑器手动创建任何东西,所以每次我修改我的数据库模型,我打开EDMX编辑器,我选择所有实体,然后我删除它们,我右键单击模型,我选择选项:从更新数据库。 出现对象列表时,我选择所有表格,然后选择下一个。它更新模型。