18

我正在尝试从 C# 应用程序对数据库存储过程进行简单调用。

我正在遵循一个指南,例如这个这个。

这两个都有相同的基本步骤。

  1. 将 LINQ to SQL .dbml 项添加到我的项目
  2. 在服务器资源管理器中连接到数据库
  3. 将存储过程从服务器资源管理器拖到我的 .dbml 设计器窗口中

但是第3步不起作用。我有我的存储过程和我的设计器窗口,但我不能拖动存储过程。我没有得到加号或“不允许”的符号。它只是一个不可拖动的对象。

我找不到另一种方法将我的 sproc 添加到 .dbml 文件中。而且我找不到其他遇到此问题的人。每个消息来源都只是说把它拖过来。

我在这里做错了什么?

截屏:

在此处输入图像描述

4

4 回答 4

19

原来解决方案是我的 Visual Studio 的 .dll 版本错误。

我注意到在服务器资源管理器中执行操作时出现异常。谷歌搜索异常导致了这个指向这个dll的问题

C:\Program Files (x86)\Common Files\microsoft shared\Visual Database Tools\dsref80.dll

作为问题。

我用我的一位队友的相应副本替换了它,现在它可以正常工作了。

于 2012-04-30T16:06:05.287 回答
3

我还安装了 VS 11 Beta 并且设计器工作正常,直到我卸载它。我不得不在上述位置手动删除 DLL 并通过在程序和功能中找到 Visual Studio 2010 并选择卸载/更改然后修复来修复安装。安装程序会将删除的 DLL 文件替换为正确的版本。

于 2012-07-01T02:30:42.303 回答
3

对于可以拖动 sproc 但看不到任何结果的任何人(sproc 根本不会显示在函数窗格中):确保 sproc 仅返回 L2S 理解的数据类型。例如,您不能返回geography字段。

于 2014-01-24T13:56:44.370 回答
0

使用设计器界面编辑 .dbml 文件需要 LINQ to SQL 工具,这些工具默认情况下不作为 Visual Studio 2017 的任何工作负载的一部分安装。它可以通过选择“代码”下的“LINQ to SQL 工具”项来安装Visual Studio 安装程序的“单个组件”选项卡中的“工具”类别。

于 2017-05-28T04:31:45.973 回答