1

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

哪个最好?

当 DataModel 更改时,我需要更改表,并且我需要一个自动解决方案(就像 DropCreateDatabaseIfModelChanges 一样..

非常感谢所有回复

4

3 回答 3

1

您可以进行 CodeFirst 迁移。CodeFirst 迁移。您需要 EF 5 二进制文件。

Enable-Migrations –EnableAutomaticMigrations在包管理器控制台中运行命令

Add-Migration将根据您对模型所做的更改为下一次迁移搭建支架。 Update-Database将对数据库应用任何挂起的更改。

于 2013-03-11T15:36:42.080 回答
0

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

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

于 2013-03-11T14:14:36.320 回答
0

它总是不能很好地工作。就我而言,我尝试使用模型编辑器手动创建任何内容,因此每次修改数据库模型时,我都会打开 EDMX 编辑器,选择所有实体并删除它们,然后右键单击模型并选择选项:更新自数据库。当对象列表出现时,我选择所有表和下一个。它更新模型。

于 2013-03-11T15:44:00.000 回答