不区分大小写包含动态Linq

时间:2011-11-22 12:47:39

标签: linq linq-to-objects contains

在Linq-to-objects上使用带动态Linq的Contains时,搜索区分大小写。我希望能够搜索不区分大小写(如Linq-to-sql,导致SQL Server默认执行此操作)。

类似的东西:

this.someQuery = this.someQuery.Where(field + ".Contains(@0, true)", strValue);

其中true表示:caseinsensitive = true,就像System.String.Contains提供的扩展名之一一样。虽然默认情况下我无法使用动态Linq对System.String进行扩展。

2 个答案:

答案 0 :(得分:15)

你能说.ToLower()比较两边吗?像这样:

this.someQuery = this.someQuery.Where(field.ToLower().Contains(strValue.ToLower()));

或者我误解了你在找什么?

答案 1 :(得分:0)

使用“toLower”时,请确保包含 ()“ToLower()”