VS 2010 EDMX存储过程丢失

时间:2011-06-20 19:03:35

标签: visual-studio-2010 sql-server-2008 entity-framework-4

使用Visual Studio 2010 SP1,SQL Server 2008:

主板最近失败了,我将所有工作都迁移到了新计算机上。我的项目使用实体数据模型连接到sql数据库。我在迁移之前已经完成了所有设置和工作,但现在所有存储过程都从模型浏览器中消失了。函数导入仍然存在,但它们显然不再有效。

问题是,当我转到“从数据库更新模型”时,不显示存储过程。大概是因为它们已经添加,并且更新窗口隐藏了您应该已经拥有的内容。刷新选项卡也不会显示它们,或者在我点击刷新时执行任何操作。它们仍然存在于服务器上,所以我知道它隐藏了它们,因为它认为它们已经存在了。

如何删除VS认为已添加的原因,以便我可以重新添加或让它们刷新?我真的不想删除模型并重新开始。

3 个答案:

答案 0 :(得分:3)

如果在模型浏览器中没有看到函数存储过程,请将EDMX作为XML打开,并检查<!-- SSDL content -->引入的部分是否包含Function元素 - 这是您的存储过程。然后检查<!-- CSDL content -->引入的部分是否包含任何FunctionImport元素 - 这是您的函数导入,最后检查<!-- C-S mapping content -->引入的部分是否包含andy FunctionImportMapping元素 - 这些是映射程序和功能导入之间。您缺少的每个存储过程应该在每个部分中只有一条记录。如果它没有备份您的EDMX并删除存储过程的剩余记录。然后检查它是否出现在向导中。

答案 1 :(得分:1)

每个请求,根据我对Ladislav's answer的评论,我的解决方法是

  

不。我是个白痴:权限仅在旧计算机上设置。我从未设置它们用于一般用途,因为我仍在研究它们。他们没有出现是因为我没有他们的权限。

答案 2 :(得分:0)

使用实体模型浏览器(右键单击edmx designer - &gt;模型浏览器)并浏览到存储过程节点。

您可以从那里编辑或删除