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.Direction = ParameterDirection.Output;

var result = ObjectContext.ExecuteStoreQuery<Product>(strSql,parm);
return result;

返回的错误是

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 'NULL = FOUND_ROWS()' at line 1

如何让@resultCount返回总记录数

最佳答案

创建参数时,我认为您需要指定不带 @ 的名称。

此外,您还需要指定参数方向;我认为默认情况下它只是输入,这意味着您需要提供一个将插入到命令中的值;你想要的是输出。您可以在创建参数或设置属性时通过一些重载来指定方向 - 不知道语法是否与其他提供程序不同,因为我已经有一段时间没有使用 MySql 了,但它应该是:

parm.Direction = ParameterDirection.Output;

关于c# - MySql Entity Framework 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3717618/

相关文章:

mysql - JBOSS 7 MYSQL 缺少依赖项错误

mysql - EF5 :could not be created because the principal key columns could not be determined. 使用 AddForeignKey 流畅 API 完全指定外键

linq - 在 Entity Framework 中运行复杂的行查询时,查询在哪里运行?

c# - 这个 telnet 实现有什么问题

c# - *可以*是静态的 C# 方法应该是静态的吗?

c# - 持久函数可以有多个触发器吗?

MySQL - 克隆然后更改字段 - 这是竞争条件吗?

mysql - 使用嵌套查询和内部联接清理 SQL 查询 [改写]

c# - UWP在启动时启动后台任务

entity-framework - DDD、 Entity Framework 、聚合实体行为(Person.AddEmail 等)