edmx - 无法完成操作 - 添加继承后

时间:2010-03-28 23:27:45

标签: c# .net entity-framework model

我有一个edmx模型,我已经将2个表格分成两个 - 一个名为'File',另一个名为'ApplicaitonFile'。这两个表在数据库中具有1对1的关系。如果我在这里停下来一切正常。

但在我的模型中,我希望'ApplicaitonFile'继承'File'。所以我删除了1对1关系,然后从'File'配置'ApplicaitonFile',然后从作为主键的'ApplicaitonFile'中删除FileId。 (注意我遵循here)的说明。

如果我在此时打开模型一切都很好,但是一旦我关闭它,如果我再次尝试重新打开它,我会收到以下错误“操作无法完成”。

我一直在寻找解决方案并找到了这个 - Entity Model does not load但据我所知,我没有重复的InheritanceConnectors(虽然我不知道我到底在找什么,但我不能看到任何与众不同的东西 - 比如2个同名的连接器)和我原来的关系是1比1而不是1比0..1

任何想法???

3 个答案:

答案 0 :(得分:2)

VS2013 + EF6。我关闭解决方案并删除项目文件夹中的文件夹BIN和OBJ。这有帮助。

答案 1 :(得分:1)

由于布局问题,我遇到了EDMX文件无法解决的问题。当它发生时我得到了“操作无法完成”。

试试这个(请确保备份你的模型)。

使用VS XML Editor打开模型(右键单击打开)。

删除或注释掉

部分
<edmx:Edmx ...
  ...
  <edmx:Designer>

    <edmx:Diagrams>
       <Diagram>
           //Comment these out   ...
        </Diagram>
    </edmx:Diagrams>
   </edmx:Designer>
 </edmx:Edmx>

所以它会变成:

<edmx:Edmx ...
  ...
  <edmx:Designer>

    <edmx:Diagrams>
       <!--
       <Diagram>

        </Diagram>
       -->
    </edmx:Diagrams>
   </edmx:Designer>
 </edmx:Edmx>

然后关闭并重新打开模型。如果它有效*你需要删除你注释掉的东西。为我工作,希望它对你有用。

答案 2 :(得分:-1)

我在开放实体模型开放中面临问题。它提示错误“操作无法完成”

我发现我的Entities.edmx.diagram文件中没有关闭的标签很少。所以,它不是一个有效的xml格式。

我更正了Entities.edmx.diagram xml文件,该文件解决了我的问题。