#Linq添加LIKE @ p__linq__0 ESCAPE'〜'

时间:2017-06-08 18:52:55

标签: c# .net linq

我正在使用反向POCO生成的类处理.Net应用程序,并尝试编写一个linq查询,当从用户输入中找到部分匹配时,该查询将从Microsoft Sql Server数据库中检索值。 例如:用户输入:12345 会产生结果 123456, 3434123456, 12345, 123456789001010, 等

但是在linq查询中使用.contains会计算出一个sql语句,并将如下所示的内容添加到语句的末尾:  喜欢@ p__linq__0 ESCAPE'〜'}

这个ESCAPE'〜'增加了14-30秒的执行时间并导致超时问题。

如果有人可以帮助我,那就太好了。

1 个答案:

答案 0 :(得分:1)

.contains() .contains(inputVariable)中使用变量时,过滤器会被转义。您可以在过滤器中添加常量,例如:.contains('12345') 或者您可以使用SqlMethods.Like()代替.contains()进行比较。

以下是SqlMethods.Like文档的链接:SqlMethods.Like