我有一个查询,其中包含一个如下所示的字符串:。当我将其放入硬编码的查询中时,它会返回结果,而作为变量则不会。
var myresult = RepositoryQuery.Where(a => a.Account== @"domain\\user");
作品。
string account= "domain\\user";
var user = RepositoryQuery.Where(a => a.Account == account);
不工作。
Account GetAccount(account){
return RepositoryQuery.Where(a => a.Account == account);
}
不工作。
Account GetAccount(account){
return RepositoryQuery.Where(a => a.Account == @account);
}
不工作。
我的猜测是它与反斜杠有关,但我无法回答。
我找到了有同样问题的人,但我无法从中找到解决方案。
我究竟做错了什么?
[编辑]
更新了错字变量名称。
account.Replace("\\", "\\\\");
如果我像这样替换它,它就可以工作。虽然看起来很丑。。
[解决] 所以我从会话中得到的帐户字符串已经被转义了。我决定在会话创建时替换反斜杠以保持数据库一致,而不是一个带有双反斜杠和一个带有单反斜杠。