类似于 LINQ to Entities 中的运算符或使用通配符

2024-01-10

我正在使用 LINQ 2 实体。 以下是问题所在:

string str = '%test%.doc%' 
.Contains(str) // converts this into LIKE '%~%test~%.doc~%%'

预期转化:LIKE '%test%.doc%'

如果是 LINQ 2 SQL,我可以使用 SqlMethods.Like,就像有人在我上一个问题中回答的那样。但现在由于我使用的是 L2E 而不是 L2S,我需要其他解决方案。


SQL 方法 PATINDEX 提供与 LIKE 相同的功能。因此,您可以使用SqlFunctions.PatIndex http://msdn.microsoft.com/en-us/library/system.data.objects.sqlclient.sqlfunctions.patindex.aspx method:

.Where(x => SqlFunctions.PatIndex("%test%.doc%", x.MySearchField) > 0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类似于 LINQ to Entities 中的运算符或使用通配符 的相关文章

随机推荐