2009-10-12 19 views
0

我遇到了Linq2Entities模型的问题 - 我可能会在这里丢失一些明显的东西。从Linq-to-Entities的EDMX文件中删除它后,如何获取表格?

这里是我做过什么:

  • 增加了一个EDMX模型文件
  • 新增的TableX到模型
  • 回到SQL Management Studio并更新的TableX,改变它的主键
  • 去了返回到我的EDMX文件并单击“从数据库更新模型”
  • TableX更新但错误,未重新分配新的主键
  • 我然后将其删除的TableX从我的模型
  • 点击“更新从数据库模型”
  • 的TableX现在处于“添加”选项卡,但仍处于“刷新”选项卡
  • 我点击“刷新”选项卡上并单击“完成”
  • 的TableX不会再出现

如果我重复这个过程中一个新的项目,不同的数据库和(显然)不同的表它仍然发生。

为什么我不能在模型中取回表格?!

回答

0

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

  1. 使用XML编辑器打开edmx文件,然后手动检查并删除对“不再显示”的表的所有引用。
  2. 诅咒,因为这是一个真正的痛苦(但有效)。
  3. 生成以确保您正确删除了所有引用。
  4. 再次从数据库更新模型。
+0

我真诚地感谢你的回答 - 它证实了我没有被精神上去除这件事,但是......当然不是?!?!我以为我已经从Linq-to-Sql“升级”了!有人请保存我对Linq-to-Entities团队的看法,并告诉我Michael *和*我自己错过了一些重要的事情。 – joshcomley 2009-10-12 14:53:14

+0

准确地说,问题不在于LINQ to Entities,问题在于EF GUI设计者。 LINQ to Entities非常稳固,但设计师(至少在EF 1.0中)是一项正在进行的工作。 – 2009-10-12 15:06:14

+0

我应该纠正我的答案,是的,Linq to Entities令人惊讶的坚实(我在生产中使用它很好)。尽管如此,设计师仍然非常糟糕,因为修复映射策略变得很糟糕。谢谢克雷格。 – 2009-10-12 15:21:18

相关问题