实体框架:如何表达包含[0-9]的LIKE语句

时间:2011-06-13 13:11:27

标签: c# asp.net entity-framework

我想构建一个LINQ查询,用于针对基于LIKE条件选择行的EF上下文。 据我了解,您可以使用.Contains()获取此行为。但是,我想要包含的LIKE包含一个数字范围:

LIKE 'LN[0-9]%'

例如......

如何在简单查询中复制此行为?

谢谢,

3 个答案:

答案 0 :(得分:2)

目前你不能直接在LINQ中使用。您可以使用转换为LIKE的StartsWithContainsEndsWith。其他解决方案是使用'where'覆盖'string',如下所示:     哪里(“喜欢'LN [0-9]%'”)

Here is example

答案 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));

一个粗略的例子,但应该让你开始。