Dapper 查询 Return 错误
Dapper Query Return Error
我正在使用 Dapper 1.38.0.0 版开发 MVC Web API。我写这段代码
var param = new Dapper.DynamicParameters();
foreach (Match match in Regex.Matches("Select Top @count * From tblCourse", @"(?<!\w)@\w+"))
{
string key = match.Value;
string value = HttpContext.Current.Request.QueryString[key.Replace("@", null)];
param.Add(key, value);
}
result = con.Query<dynamic>("Select Top @count * From tblCourse", param);
但是结果行有错误。
Additional information: Incorrect syntax near '@count'.
我该如何解决这个问题?谢谢
试试这个
result = con.Query<dynamic>("Select Top (@count) * From tblCourse", param);
当通过参数 提供值时,Top
需要在括号内
TOP @param
在 SQL 服务器中不合法。 2个选项:
Select Top (@count) * From tblCourse
或者
Select Top {=count} * From tblCourse
首先是SQL-服务器的表示方式。第二个是 dapper 特定的功能,它将整数值(仅:它不适用于字符串)直接注入查询。如果值通常相同,则第二个通常会表现更好。当然,第二个你也需要一个不同的正则表达式。
我正在使用 Dapper 1.38.0.0 版开发 MVC Web API。我写这段代码
var param = new Dapper.DynamicParameters();
foreach (Match match in Regex.Matches("Select Top @count * From tblCourse", @"(?<!\w)@\w+"))
{
string key = match.Value;
string value = HttpContext.Current.Request.QueryString[key.Replace("@", null)];
param.Add(key, value);
}
result = con.Query<dynamic>("Select Top @count * From tblCourse", param);
但是结果行有错误。
Additional information: Incorrect syntax near '@count'.
我该如何解决这个问题?谢谢
试试这个
result = con.Query<dynamic>("Select Top (@count) * From tblCourse", param);
Top
需要在括号内
TOP @param
在 SQL 服务器中不合法。 2个选项:
Select Top (@count) * From tblCourse
或者
Select Top {=count} * From tblCourse
首先是SQL-服务器的表示方式。第二个是 dapper 特定的功能,它将整数值(仅:它不适用于字符串)直接注入查询。如果值通常相同,则第二个通常会表现更好。当然,第二个你也需要一个不同的正则表达式。