【问题标题】:How can I get my table back after I remove it from my EDMX file in Linq-to-Entities?从 Linq-to-Entities 中的 EDMX 文件中删除表后,如何取回表?
【发布时间】:2010-12-06 00:06:55
【问题描述】:

我的 Linq2Entities 模型有问题 - 我可能在这里遗漏了一些明显的东西。

这是我所做的:

  • 添加了 EDMX 模型文件
  • 将 TableX 添加到模型中
  • 返回 SQL Management Studio 并更新 TableX,更改其主键
  • 回到我的 EDMX 文件并点击“从数据库更新模型”
  • TableX 更新但不正确,未重新分配新的主键
  • 然后我从我的模型中删除了 TableX
  • 点击“从数据库更新模型”
  • TableX 现在位于“添加”选项卡中,但仍位于“刷新”选项卡中
  • 我点击“刷新”选项卡,然后点击“完成”
  • TableX 不再出现

如果我在具有不同数据库和(显然)不同表的新项目中重复此过程,它仍然会发生。

为什么我的桌子不能回到模型中?!

【问题讨论】:

    标签: linq-to-entities updatemodel edmx


    【解决方案1】:

    这对我来说是 LINQ-to-Entities 的可怕部分。如果我很聪明并且记得我通常不会在编辑 edmx 文件时关闭它。然后我撤消更改,直到我回到工作版本。否则,

    1. 使用 XML 编辑器打开 edmx 文件并手动检查并删除对未“重新出现”的表的所有引用。
    2. 诅咒,因为这样做真的很痛苦(但有效)。
    3. 构建以确保正确删除所有引用。
    4. 再次从数据库更新模型。

    【讨论】:

    • 我衷心感谢您的回答 - 它确认我并没有因此而被精神上抹杀,但......肯定不是?!?!我以为我已经从 Linq-to-Sql “升级”了!有人,请保存我对 Linq-to-Entities 团队的看法,告诉我 Michael 我自己错过了一些重要的事情。
    • 准确地说,问题不在于 LINQ to Entities,而在于 EF GUI 设计器。 LINQ to Entities 相当可靠,但设计器(至少在 EF 1.0 中)是一个正在进行中的工作。
    • 我应该更正我的答案,是的,Linq to Entities 非常可靠(我在生产中使用它就好了)。然而,就修复映射策略的问题而言,设计师是可怕的。谢谢克雷格。
    猜你喜欢
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    • 2017-11-06
    • 1970-01-01
    相关资源
    最近更新 更多