【发布时间】:2016-03-03 18:48:46
【问题描述】:
有一个 linq to sql "Like" 查询 (VB.Net) 将其用作比较值:
%HIPP,%JOHN%A%LLLP%#1%
这里是查询:
docs.Where(Function(d) d.Parties.Where(Function(p) p.PartyName Like partyName And p.PartyName "" And p.PartyType = 2).Any)
partyName = %HIPP,%JOHN%A%LLLP%#1%
但是,在 SQL Server 中分析查询时,“#”会显示为 [0-9],因此 sql 语句会显示“... where field like %HIPP,%JOHN%A%LLLP%[0- 9]1% 所以它显然没有返回我正在寻找的值。
谁能解释一下这里发生了什么?
谢谢!
【问题讨论】:
-
我将 linq 查询添加到我原来的问题中。
-
您可以使用 linqpad 复制它,只需在 linq Like 查询中使用“#”,您将看到它生成的 sql 将“#”符号替换为文本 [0-9] .
标签: sql-server vb.net linq