18

C#アプリケーションからデータベースストアドプロシージャへの簡単な呼び出しをしようとしています。ストアドプロシージャをdbmlデザイナにドラッグできません

私は、ガイドなどは、以下の、例えば、this oneまたはthis one.

これらの両方は、同じ基本的な手順を持っています。

  1. 私の.dbmlデザイナーウィンドウ上にサーバーエクスプローラからサーバーエクスプローラでのデータベースへの私のプロジェクト
  2. ConnectにSQL .dbml項目に
  3. ドラッグストアドプロシージャをLINQを追加

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

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

私はここで間違っていますか?

スクリーンショット:

enter image description here

+0

@Andomar私は私が見ることを投稿しました。私はどのようにカーソルをキャプチャするのか分からない。 PrintScreenはそれをキャプチャしていないようだし、私はSnipping Toolでそれを行うことはできないと思う。それにもかかわらず、実際にはどこにでもsprocをドラッグできないので、実際に何も表示されません。私のカーソルが.dbmlウィンドウの上をホバリングしているように見えますが、実際はクリックしてドラッグしています。 –

+0

これは私の画面の見た目です。私にとってはDBMLファイルが読み込み専用であっても動作します。あなたはローカルにログインしていますか?あなたとVSの両方が同じ管理者アカウントで実行されていますか? – Andomar

+0

はい、ローカルにログインしていますが、VSは同じアカウントで実行されています。また、同じWindows資格情報を使用してリモートSQLサーバーに接続しています。 –

答えて

19

は解決策は、私は、Visual Studioの.dllの間違ったバージョンを持っていたことが判明しました。

私は気付いたサーバーエクスプローラでアクションを実行するときに例外が発生しました。このDLL問題として

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

を指すthis questionにつながった例外をグーグルで。

私はチームメイトの対応するコピーに置き換えましたが、今は正常に動作します。

+0

私の場合は、Microsoft Visual Studio Beta 11のファイルバージョン11.0.50214.1でした。アンインストールしましたが、このファイルは元に戻されませんでした。 Microsoft Visual Studio 2010からバージョン10.0.30319.1に置き換えます(私はSP1を持っていますが、これはSP1なしと同じかどうかわかりません)。 – casperOne

+0

@casperOne私のためにも。私はベータ版のイメージを使用していたはずですが、アンインストールがきれいであると信じていました。実際には、Visual Studio 11のアンインストール後に元に戻す必要があったMicrosoft Sharedディレクトリにかなりのものがあります。 –

+0

それはいつも私たちの没落ではありませんか? *ベータ*ソフトウェアのイメージを作っていて、私たちはそうしてはいけませんか? =) – casperOne

3

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

2

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

+0

私のspは何も返さず、代わりに関数ペインに表示されません... – Franziee

0

デザイナーの表面に.dbmlファイルを編集するには、Visual Studio 2017のワークロードのいずれかの一部として既定でインストールされていないLINQ to SQLツールが必要です.LINQ to SQLツールを選択してインストールできますVisual Studioインストーラの[個別のコンポーネント]タブの[コードツール]カテゴリの下に表示されます。

関連する問題