繁体   English   中英

当sql语句包含@时如何在mysql中使用Dapper

[英]How to use Dapper with mysql when the sql statement contains @

我的SQL语句包含“ @”时遇到麻烦

似乎Dapper使用了'@'并抛出异常:“ @ rownum”必须被拒绝。

但这不是Dapper参数。

我需要协助。 这是我的代码:

var sqlStr = @"SELECT 
                    @rownum := @rownum +1 AS rownum, 
                    e.* FROM (SELECT @rownum := 0) r,
                    (SELECT 
                        f.nickname,
                        u.charm_value 
                    FROM 
                        user_info u 
                        LEFT JOIN fans_info f ON u.openid=f.openid
                    ORDER BY 
                        u.charm_value DESC,u.create_time DESC LIMIT 0,500) e ";
return conn.Query<Top500Response>(sqlStr).ToList();

Dapper将按原样传递它,因为它没有绑定到参数(请参阅如何在Dapper查询中转义“ @”? )。

我认为该错误实际上是由MySQL引起的,您需要设置以下内容:

Allow User Variables=True

在连接字符串中(请参阅allow-user-variables

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM