执行mysql存储过程
var affectedRows =
context.Database.ExecuteSqlCommand("exec UpdateStatus @p_customerId, @p_id",
new MySqlParameter("p_customerId", "006"),
new MySqlParameter("p_id", 9));获取MySqlException
MySql.Data.MySqlClient.MySqlException类型的未处理异常发生在EntityFramework.dll中 附加信息: SQL语法出现错误;请检查与MySQL服务器版本相对应的手册,以便在第1行使用接近“exec UpdateStatus '006',9‘的正确语法。
当我尝试用Update语句替换存储过程名称时,它可以工作。但是我想调用一个存储过程。
我尝试使用实体框架5和6相同的错误
发布于 2017-03-08 18:04:25
从命令调用存储过程的MySQL语法是“调用”。此外,参数名应该在前面有"@“。
因此,您需要按以下方式更改代码。
var affectedRows =
context.Database.ExecuteSqlCommand("CALL UpdateStatus (@p_customerId, @p_id)",
new MySqlParameter("@p_customerId", "006"),
new MySqlParameter("@p_id", 9));https://stackoverflow.com/questions/42678390
复制相似问题