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

本文关键字:更新 文件 我的 edmx 为什么 | 更新日期: 2023-09-27 18:33:07

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

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

当我有一个包含列 ID、列 1、列 2 的表并且我将列 2 更改为列 2Changed 时,我的 edmx 有一个具有

ID、列 1、列 2、列 2 已更改而不是 ID、列 1、列 2 已更改的模型。

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

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

这是实体框架的一个众所周知的问题。

"从数据库更新模型"仍然是一件偶然的事情。 有时有效,通常无效。

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

这对

我有用:

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

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

3.选择"运行自定义工具"选项。

这将更新 .tt 文件。

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

遇到这个问题时,我通过更改用户名和密码解决了我的...所以我想说,确保你的EDMX中有一个有效的连接字符串

我多次遇到过这个问题。 对于简单的问题,我已经通过在代码编辑器中打开来编辑 edmx 文件(打开方式...>源代码(文本)编辑器)。

通过搜索实体类型名称="您的表名称"来查找表。

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

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

这解决了我的问题!

也许这不合逻辑,但是当我们向 Edmx 添加空表时,它不会被添加。如果添加包含一些记录的表,将解决问题。

修复:发生错误时,当您

在记事本中打开edmx时,会显示错误,也许您没有主键等等。

什么对我有用:我更新了 edmx 模型,然后单击 edmx 设计器中的"保存"按钮。

似乎所有已修改实体(视图、表等)的代码仅在 Save 上重新生成。

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