实体数据模型设计器不会打开edmx文件

时间:2013-02-14 20:53:37

标签: .net ado.net entity-framework-5

奇怪的是,几天前工作正常。我在表中添加了一个新列,并将通过设计器更新模型,现在它说“实体数据模型设计器无法显示您请求的文件。您可以使用XML编辑器编辑模型。”

新字段没什么特别值得注意的,它只是SQL Server 2008中一个不可为空的位字段。

14 个答案:

答案 0 :(得分:9)

FOR Visual Studio 2017

我搜索了解决方案但是想出了一些NUGET包和扩展程序的安装,没有任何问题。

解决方案(Visual Studio上缺少实体框架)

  1. 我在我的机器上搜索 Visual Studio Installer 并将其打开。
  2. Visual Studio Professional 2017 下。
  3. 我点击了更多以查看更多选项。我选择了修改
  4. 选择个别组件(第二个标签页)
  5. 检查 SDK,库和框架
  6. 下的实体框架 单击
  7. ,然后单击“修改” 该过程完成后将打开EDMX文件。

答案 1 :(得分:7)

通过删除文件并重新生成来修复。

答案 2 :(得分:5)

我也遇到了烦人的屏幕。不,我不想用XML编辑我的模型......我想要漂亮的设计师!在我的情况下,我添加了一个没有主键的表。要解决......

1)以XML格式打开edmx

2)删除错误的表格。它应该用"< - ERROR"来定义。评价。

3)清洁并重建。

4)关闭并重新打开Visual Studio(是的,它很烦人但很必要)

5)再重建一次,然后打开你的edmx文件。应该打开设计师。

希望这会有所帮助。

答案 3 :(得分:2)

当我向一个在函数中使用的表中添加一个字段作为RETURN(SELECT TableName。* ....)时发生了这种情况。

EDMX中该函数的ReturnType节点的CollectionSet子节点未刷新。

要修复它,您只需运行ALTER FUNCTION(不实际更改它),然后在Visual Studio中从数据库更新模型。

答案 4 :(得分:2)

这在我们身上经常发生(通常是由于合并错误),并且我们的EDMX文件超过了5万行,这使问题无法引起关注。但是,首先,您可以使用一个在线XML解析器(例如https://onlinexmltools.com/validate-xml)来确定XML是否正确。一旦XML有效,文件至少应在XML编辑器中打开(我假设您使用的是Visual Studio):然后可以使用Alt + PageDn(编辑>转到>下一期)-经常出现下划线和相关提示真正的帮助。这样,我已经成功地使我们的EDMX复活了几次。

答案 5 :(得分:1)

有时会出现此问题,因为模型的XML表示存在一些冲突。在我的情况下,错误是由于模型有一个冲突的引用引起的,换句话说,有一个对XML中手动删除的表的引用,并且删除没有正确完成(它们留下了EntityType引用但除去了所有其余部分。)

我刚刚打开了XML文件并且问题被加下划线,我刚刚将其删除,并修复了问题,模型显示没有任何问题。

答案 6 :(得分:0)

刚遇到类似问题:设计师窗口中没有任何内容。

双击模型浏览器中的每个实体使它们重新出现。

答案 7 :(得分:0)

我没有删除edmx的选项。

我尝试清理,退出vs,然后构建。

解决方案:将源控件中的粘贴复制到.edmx和.edmx.diagram中,然后重建。

我从一个特别讨厌的合并中得到了这个错误。

答案 8 :(得分:0)

我通过修改安装并选择.net桌面开发模块+单个组件解决了这个问题: Entity Framework 6工具和.NET Framework 3.5开发工具。

我不知道是否可以做得更少。

答案 9 :(得分:0)

合并后我遇到了同样的问题。幸运的是,在签入窗口中撤消对edmx和相关文件的更改并重新添加新文件为我解决了这个问题。

答案 10 :(得分:0)

在Visual Studio 2019中,我可以使用内置的XML编辑器打开.edmx文件来解决问题。

Visual Studio显示带下划线的错误,如下所示:

enter image description here

检查“错误列表”窗口(红色X图标)...

一旦摆脱了所有错误,设计人员就会按预期显示。

答案 11 :(得分:0)

当我们将Visual Studio解决方案从旧版本迁移到VS 2017/2019时可能就是这种情况。 因此,我通过执行以下步骤解决了问题(更改以粗体突出显示): 1.更改:

<edmx:Edmx Version="2.0" xmlns:edmx="http://schemas.microsoft.com/ado/2008/10/edmx">

收件人

<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
  1. 更改(所有出现):
<Schema Namespace="SilverAndgemModel" Alias="Self" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">

收件人

<Schema Namespace="SilverAndgemModel" Alias="Self" xmlns="http://schemas.microsoft.com/ado/2009/11/edm">

完成后,再次关闭并打开edmx。

这应该可以解决问题。

答案 12 :(得分:0)

我刚刚通过重新安装用于Visual Studio的Oracle Developer Tools(我的当前版本是2019 16.7.4)解决了“实体数据模型设计器将无法打开edmx文件”问题。我在Visual Studio的“解决方案资源管理器”窗口中右键单击.edmx文件,选择了“使用...打开”选项,并立即显示重新安装弹出窗口。

答案 13 :(得分:0)

就我而言,edmx.diagram 文件在文件末尾有不相关的文本,例如

<AssociationConnector Association="MyModel.FK_SomeTable_SomeOtherTable" />&gt;&gt;&gt;&gt;&gt;&gt;&gt; FEATURE/Blahlblah

删除后

&gt;&gt;&gt;&gt;&gt;&gt;&gt; FEATURE/Blahlblah

成功了。

编辑您的 xml 文件(edmx,尤其是 edmx.diagram)检查并更正它们