2013-03-26 60 views
2

我从数据库生成了一个EF图,但我决定不设计数据库并生成edmx,我想要设计图并从中生成一个数据库。如何从实体框架中删除约束?

但是,从我从数据库生成图表时仍然存在一些约束,我似乎无法删除。一个约束是针对不再存在的列,因此.edmx会引发错误。

有没有什么办法让我去除这个约束?我不想从数据库中删除它,并从数据库中更新,因为我在图上做了很多更改,不想再次重做它们。

回答

4

.edmx文件只是一个XML文件。如果情况变得更糟,您可以在文本编辑器中直接编辑它,如果您小心的话。查找与您感兴趣的约束相匹配的关联和关联集,并删除这些标签。然后保存该文件并在Visual Studio中重新打开。请注意,如果你这样做,我会建议首先备份文件,以防万一你在某处犯了错误,然后你可以恢复。

+0

尽管我觉得我不应该这样做,但编辑.edmx文件的xml并删除约束完美无缺。谢谢。 – Kyle 2013-03-26 23:35:49

0

一旦从设计者删除列,请尝试Clean Solution然后重建解决方案。您应该能够在该点删除约束。

+0

我该去哪里删除它?我只能在模型浏览器中找到约束条件,并右键单击我想摆脱的那个没有删除作为选项。 – Kyle 2013-03-26 23:13:06

+0

从**模型浏览器**中,右键单击约束并选择**在图表**中显示。这应该会使您进入图表中的约束条件,您可以右键单击进行删除。 – 2013-03-26 23:17:29

+1

我没有Show In Diagram作为选项。我只有从数据库验证,更新模型,从模型生成数据库,添加代码生成项目和属性。这里的屏幕截图,http://i.imgur.com/ME2ZZSc.png感谢您试图帮助我弄清楚这一点。 – Kyle 2013-03-26 23:21:34