我想构建一个LINQ查询,用于针对基于LIKE条件选择行的EF上下文。
据我了解,您可以使用.Contains()
获取此行为。但是,我想要包含的LIKE包含一个数字范围:
LIKE 'LN[0-9]%'
例如......
如何在简单查询中复制此行为?
谢谢,
答案 0 :(得分:2)
目前你不能直接在LINQ中使用。您可以使用转换为LIKE的StartsWith
,Contains
或EndsWith
。其他解决方案是使用'where'覆盖'string',如下所示:
哪里(“喜欢'LN [0-9]%'”)
答案 1 :(得分:1)
尝试StartsWith,如下所示:
var query = Cities.Where(city => city.Code.StartsWith("LN[0-9]"));
答案 2 :(得分:0)
这是一个正则表达式问题([0-9]是一个正则表达式命名法)。我建议你尝试这样的事情:
Regex myRegex = new Regex("LN[0-9]");
var matches = Cities.Where(c => myRegex.IsMatch(c.Field));
一个粗略的例子,但应该让你开始。