2016-08-10 3 views
0

これを誤って呼び出すのかどうかはわかりませんが、パラメータを指定していないというエラーが表示されます。私は次のようにSQLにLINQを使用してストアドプロシージャを実行しようとすると:プロシージャまたはファンクションは、提供されていないパラメータを要求しますか?

Context.ExecuteQuery(returnType, "EXEC [GetResults]", new object[] {StoredProcName}); 

私もこのようにそれを呼び出してみましたが、それはSPが別のデータベースにあるので、私は完全な名前を提供する必要があります(私に構文エラーを与えました):

Context.ExecuteQuery(returnType, string.Format("EXEC [GetResults]{0}", storedProcName)); 

StoredProcNameは、この値に設定されている:[DevDB] [サービス] [GetTypes]

そのようにそれを渡すことはできませんか。。?

+0

呼び出すことのできるメソッドに既にマップされているストアドプロシージャは使用しないでください。 – Rahul

+0

通常はdbmlファイルにありますが、この1つのストアドプロシージャは実際にストアドプロシージャを呼び出しているため、戻り値の型は常に同じではありません。私は実行時に私のアプリの別の部分で戻り値の型を生成しているので、私はこのようにしています。 – R007

答えて

1

うわー私はちょうどそれを理解した、私は今本当に愚かな気がする。私は間違った関数定義を読んでいた。 これは、この方法で呼び出されているはずです。

Context.ExecuteQuery(returnType, "EXEC [GetResults]{0}", storedProcName); 
関連する問題