sql server 2008-VS 2010 EDMX存储过程丢失



使用Visual Studio 2010 SP1,SQL server 2008:

主板最近失败了,我把所有的工作都迁移到了一台新电脑上。我的项目使用实体数据模型连接到sql数据库。在迁移之前,我已经设置好了所有的东西并开始工作,但现在所有的存储过程都从模型浏览器中消失了。函数导入仍然存在,但它们显然不再起作用。

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

如何删除导致VS认为它们已经添加的内容,以便重新添加或刷新它们?我真的不想删除模型然后重新开始。

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

根据我对Ladislav回答的评论,我的解决方案是

没有。我是个白痴:权限只为旧电脑上的帐户设置。我从未将它们设置为通用,因为我仍在研究它们。他们没有出现,因为我没有他们的权限。

使用实体模型浏览器(在edmx设计器->模型浏览器中右键单击)并浏览到存储过程节点。

您可以在中编辑或删除它们

最新更新