我正在尝试从C#应用程序对数据库存储过程进行简单调用。
这两个步骤都有相同的基本步骤。
但第3步不起作用。我有我的存储过程和设计器窗口,但我无法拖动sproc。我没有加号或“不允许”的标志。它只是一个不可拖动的对象。
我找不到另一种方法将我的sproc添加到.dbml文件中。我找不到有这个问题的其他人。每个消息来源都只是说要拖过它。
我在这里做错了什么?
截图:
答案 0 :(得分:19)
事实证明,解决方案是我使用了错误版本的.dll for Visual Studio。
我注意到在服务器资源管理器中执行操作时遇到异常。谷歌搜索异常导致this question指向此dll
C:\Program Files (x86)\Common Files\microsoft shared\Visual Database Tools\dsref80.dll
作为问题。
我用我队友中的相应副本替换了它,现在工作正常。
答案 1 :(得分:3)
我还安装了VS 11 Beta,设计师工作正常,直到我卸载它。我必须在上述位置手动删除DLL并通过在“程序和功能”中查找Visual Studio 2010并选择“卸载/更改”然后选择“修复”来修复安装。安装程序将替换使用正确版本删除的DLL文件。
答案 2 :(得分:3)
对于任何可以拖动sproc,但看不到结果的人(sproc根本没有显示在函数窗格中):确保sproc只返回L2S理解的数据类型。例如,您无法返回geography
字段。
答案 3 :(得分:0)
使用设计器表面编辑.dbml文件需要LINQ to SQL工具,这些工具默认情况下不会安装为Visual Studio 2017的任何工作负载的一部分。可以通过选择“LINQ to SQL工具”项来安装它。 Visual Studio安装程序的“单个组件”选项卡中的“代码工具”类别。