我有一个非常复杂的查询并且正在修复我喜欢的术语(我有一个单独的数据库表并将它们加载到我的搜索查询中),但是当我参数化它时,我的查询会给出不同的结果。
所以旧查询有一个类似的部分:
((v.title = ''BA'') OR (vs.label = ''BA'') OR
(v.title LIKE ''BA %'') OR (vs.label LIKE ''BA %''))
...
我用这样的东西(带参数)替换了它:
((v.title = @banone) OR (vs.label = @banone) OR
(v.title LIKE @baright) OR (vs.label LIKE @baright))
...
@banone=N'BA',@baright=N'BA %',
...
我的参数是这样添加的:
string key = "ba";
string val = "ba";
parameters.Add("@" + key + "none", val);
parameters.Add("@" + key + "right", val + " %");
这两个查询是否相等?我错过了什么吗?