Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MySql实体框架选择_C#_Mysql_Entity Framework - Fatal编程技术网

C# 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

我在使用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.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下的所有可能选项,但仍然无效