簡體   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