我有以下查询字符串
"SELECT VALUE entity FROM Entities AS entity WHERE entity.Client_id
= 0 && entity.Name LIKE @searchvalue ORDER BY @sorting SKIP @skip LIMIT @limit"
使用以下参数替换
query.Parameters.Add(new ObjectParameter("skip", start));
query.Parameters.Add(new ObjectParameter("limit", limit));
query.Parameters.Add(new ObjectParameter("searchvalue", searchValue + "%"));
query.Parameters.Add(new ObjectParameter("sorting", sortField + " " + sortDirection.ToUpper()));
但我总是以异常告终:
键表达式“ORDER BY”必须至少有一个对直接输入范围的引用。近 ORDER BY 子句项
我猜这发生了导致query.Parameters.Add(...)
全部用引号括起来?我也读过这篇文章,但是如果什么都没有发生,我需要什么好处query.Parameters.Add(...)
呢?好吧,攻击者可能不会开始新的查询,但我猜他可以操纵当前?