18

C# アプリケーションからデータベース ストアド プロシージャを簡単に呼び出そうとしています。

私は、このガイドやこのガイドなどに従っています。

どちらも基本的な手順は同じです。

  1. プロジェクトに LINQ to SQL .dbml アイテムを追加する
  2. サーバー エクスプローラーでデータベースに接続する
  3. ストアド プロシージャをサーバー エクスプローラーから .dbml デザイナー ウィンドウにドラッグします。

しかし、ステップ 3 は機能しません。ストアド プロシージャとデザイナー ウィンドウがありますが、sproc をドラッグできません。プラス記号または「許可されていない」記号が表示されません。それは単なるドラッグ不可能なオブジェクトです。

sproc を .dbml ファイルに追加する別の方法が見つかりません。そして、この問題を抱えている人を他に見つけることができません。すべての情報源は、単にそれをドラッグするように言っています。

ここで何が間違っているのでしょうか?

スクリーンショット:

ここに画像の説明を入力

4

4 に答える 4

19

解決策は、Visual Studio の .dll のバージョンが間違っていたことでした。

サーバー エクスプローラーでアクションを実行すると、例外が発生することに気付きました。例外をグーグルで検索すると、このdllを指すこの質問につながりました

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

問題として。

チームメイトの 1 人からの対応するコピーに置き換えたところ、正常に動作するようになりました。

于 2012-04-30T16:06:05.287 に答える
3

sprocドラッグしても結果が表示されない (sproc が関数ペインに表示されない) 場合: sproc が L2S が理解できるデータ型のみを返すことを確認してください。たとえば、geographyフィールドを返すことはできません。

于 2014-01-24T13:56:44.370 に答える
3

VS 11 Beta もインストールしましたが、アンインストールするまでデザイナーは正常に動作していました。上記の場所で DLL を手動で削除し、[プログラムと機能] で Visual Studio 2010 を見つけて [アンインストール/変更] を選択し、[修復] を選択してインストールを修復する必要がありました。インストーラーは、削除された DLL ファイルを正しいバージョンに置き換えます。

于 2012-07-01T02:30:42.303 に答える