为什么我的edmx文件没有更新

时间:2016-02-03 14:51:32

标签: c# asp.net entity-framework

我有一个数据库第一个ASP.NET MVC 5 EF6项目。我正在使用VS2015 CE。当我更改我的数据库(SQL Server 2012)时,我会转到VS以更新我的edmx文件,如下所示:

  • 双击解决方案资源管理器中的edmx文件
  • 在edmx文件中右键单击空白区域,然后选择“从数据库更新模型”选项
  • 我点击“完成”按钮
  • 我重建解决方案

当我有一个包含列ID,Column1,Column2和I的表时,将Column2更改为Column2Changed,我的edmx有一个模型ID,Column1,Column2,Column2Changed而不是ID,Column1,Column2Changed。

此外,当我更改列的数据类型时,此更改不会应用于我的edmx。

8 个答案:

答案 0 :(得分:5)

这是Entity Framework的一个众所周知的问题。

"从数据库更新模型"继续是一个昙花一现的事情。有时候它有效,通常它没有。

就个人而言,我只是删除了"更新了"我的.edmx文件中的表,然后重新添加它。然后它似乎工作正常。

答案 1 :(得分:5)

这对我有用:-

在更新EDMX文件后构建项目。

在解决方案资源管理器中右键单击您的.tt文件。

选择“运行自定义工具”选项。

这将更新.tt文件。

答案 2 :(得分:1)

确保从“更新”选项卡中选择对象

答案 3 :(得分:1)

这对我有用:

1。更新EDMX文件后构建项目。

2。在解决方案资源管理器中右键单击您的.tt文件。

3。选择“运行自定义工具”选项。

这将更新.tt文件。

答案 4 :(得分:0)

我曾多次遇到此问题。对于简单的问题,我已经通过在代码编辑器中打开edmx文件进行了编辑(“打开方式...”>“源代码(文本)编辑器”)。

通过搜索EntityType Name =“您的表名”来查找表。

通常,我看到一个看起来不正确的条目,将其删除,保存并关闭文件。按常规方式打开edmx并刷新模型,Presto问题已解决。

答案 5 :(得分:0)

遇到此问题时,我通过更改用户名和密码解决了我的问题...所以我要说,请确保您的edmx中具有有效的连接字符串

答案 6 :(得分:0)

更新或刷新后未获得预期结果。 我的工作如下: 1.我添加了程序但未导入它。 2.我使用文本编辑器打开了edmx,并添加了具有复杂类型的返回类型,就像其中已经存在的其他类型一样。 3.像其他程序一样添加所有值。

那解决了我的问题!

答案 7 :(得分:-1)

我遇到了同样的问题。最合理的解决方案可能是删除.edmx文件并重新生成它。请记住,如果没有任何工作,您应该首先尝试更新模型,然后执行我刚才所说的。