C# MySql实体框架选择
我在使用MySql查询时遇到问题C# MySql实体框架选择,c#,mysql,entity-framework,C#,Mysql,Entity Framework,我在使用MySql查询时遇到问题 string strSql = "select SQL_CALC_FOUND_ROWS *, pv.* from products pv WHERE pv.name = 'Teddy Bear';"; strSql += "SET @resultCount = FOUND_ROWS();" MySqlParameter parm = new MySqlParameter("@resultCount",MySqlDbType.Int32) parm.Direc
string strSql = "select SQL_CALC_FOUND_ROWS *, pv.* from products pv WHERE pv.name = 'Teddy Bear';";
strSql += "SET @resultCount = FOUND_ROWS();"
MySqlParameter parm = new MySqlParameter("@resultCount",MySqlDbType.Int32)
parm.Direction = ParameterDirection.Output;
var result = ObjectContext.ExecuteStoreQuery<Product>(strSql,parm);
return result;
string strSql=“从products pv中选择SQL\u CALC\u FOUND\u ROWS*,pv.*,其中pv.name='Teddy Bear';”;
strSql+=“SET@resultCount=FOUND_ROWS();”
MySqlParameter parm=新的MySqlParameter(@resultCount”,MySqlDbType.Int32)
参数方向=参数方向输出;
var result=ObjectContext.ExecuteStoreQuery(strSql,parm);
返回结果;
返回的错误是
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“NULL=FOUND_ROWS()”附近使用的正确语法
在创建参数时,如何获取@resultCount以返回总记录计数?我认为您需要在不使用
@
的情况下指定名称
此外,您还需要指定参数方向;我认为默认情况下它只是输入,这意味着您需要提供一个值,该值将插入到命令中;你想要的是输出。您可以在创建参数或设置属性时通过一些重载指定方向-不知道语法是否与其他提供程序不同,因为我已经有一段时间没有使用MySql提供程序了,但应该是:
parm.Direction = ParameterDirection.Output;
由于引用错误,您的SQL无效。我试着修补一下,这样我就可以读你的问题了。我不知道这是否是问题所在,或者你只是在问题中把它转录错了。有没有@似乎仍然无法解决问题。已经指定了param.Direction,但我已经尝试了ParameterDirection下的所有可能选项,但仍然无效