【发布时间】:2016-05-31 11:57:36
【问题描述】:
我正在使用 Entity Framework 6 从 MVC 5 应用程序调用存储过程。它抛出此错误:
您的 SQL 语法有错误;检查对应的手册
您的 MySQL 服务器版本,以便在第 1 行的“rv_test_param 1”附近使用正确的语法
我的代码是:
var res = Context.Database.SqlQuery<string>("rv_test_param @id", new MySqlParameter("@id", 1)).ToList();
存储过程运行良好。如果我在没有参数的情况下调用 stop
像这样:
var redf = Context.Database.SqlQuery<string>("rv_test").ToList();
它也可以正常工作。有人知道为什么它不能使用参数吗?
【问题讨论】:
-
会不会是权限问题?不是使用 EF,而是使用 ADO .NET 时,我看到通过应用程序运行时抱怨参数的错误,但 sp 本身运行良好。就我而言,它们是与 SQL 权限相关的问题。
-
感谢@NoSaidTheCompiler 的建议,但这次的问题是错误的语法。我通过改变我的调用语法让它工作了。检查我的答案
标签: c# mysql asp.net-mvc entity-framework stored-procedures