SQL Server外键搞乱实体框架模型

时间:2011-03-01 20:59:11

标签: sql-server entity-framework entity-framework-4

我有一个实体框架模型,我注意到模型文件中的图表中缺少一个表,一个用户组表。这意味着我无法将其从标准SQL调用中修改为成为实体框架的一部分(即,为实体框架创建类文件)。

我可以在“实体集”下看到它,但不能在图中看到。每次我尝试添加时,都不会将其显示为添加到“更新模型”菜单中的选项。所以我从实体集中删除了它,然后我终于在'更新模型'中看到了它。我加了。仍然不会显示在图表上(它只是将其作为实体集,但不会为它制作图表)。

在对它感到沮丧之后,我发现有一些外键阻止它被添加。所以我去了我的sql管理器,并从usergroup表中删除了任何外键。

所以现在,当我添加模型时,它会出现在图表中!是!

但是,现在编译器错误3002说模型不匹配。 “潜在的运行时违规表”说映射是不正确的,但我不明白---那里没有映射,没有任何东西将用户组链接到任何东西。

为什么会这样?我检查了其他外键和映射属性,没有映射到用户组。它是Visual Studio 2010中的错误吗?

1 个答案:

答案 0 :(得分:1)

可能是edmx文件的各部分不同步或部件损坏。

您可以尝试在文本编辑器中打开edmx文件并检查是否有任何错误。

您也可以尝试删除该表,然后在文本编辑器中打开edmx文件,并确保已删除对该表的所有引用。

映射错误不在表之间,它位于edmx文件的各个部分之间。