2016-05-31 6 views
0

から呼び出す:構文エラー、私はそれがこのエラーを投げているEntity Frameworkの6とMVC 5アプリケーションからストアドプロシージャを呼び出すいEF 6

You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near 'rv_test_param 1' at line 1

私のコードは次のとおりです。

var res = Context.Database.SqlQuery<string>("rv_test_param @id", new MySqlParameter("@id", 1)).ToList(); 

ストアドプロシージャが正常に動作しています。私はこのようなパラメータ

なしストップ呼び出す場合:

var redf = Context.Database.SqlQuery<string>("rv_test").ToList(); 

を、それも正常に動作します。誰もがなぜパラメータで動作しないのか考えていますか?

+0

権限の問題はありますか? EFではなく、ADO .NETを使用しているときに、appを実行しているときにパラメータに関するエラーが表示されていましたが、正常に動作しています。私の場合、彼らはSQL許可関連の問題でした。 – NoSaidTheCompiler

+0

@NoSaidTheCompilerを提案してくれてありがとうございますが、今回の問題は間違ったシンタックスでした。私は私の呼び出し構文を変更することによってそれを働かせました。私の答えをチェックする –

答えて

0

構文ミス。私はSQL Serverのバックグラウンドにいるので、私はこれらの構文を認識していませんでした。これは私のために働いています:

var res = Context.Database.SqlQuery<string>("call rv_test_param(@id)", new MySqlParameter("@id", 1)).ToList();