2017-04-07 63 views
0

实体框架核心中的“包含”应该等同于%运算符等SQL%。因此,“包含”应区分大小写,但区分大小写! (至少在postgres ????)实体框架核心 - 包含区分大小写或不区分大小写?

下面只输出一个结果,当使用正确的关键字框。

context.Counties.Where(x => x.Name.Contains(keyword)).ToList(); 

我在做什么错?

+2

LIKE **在postgresql中区分大小写。 – Evk

+0

请注意,名为“citext”的扩展名可让您使用不区分大小写的“citext”类型的列。否则,你应该明确地使用'lower'来执行不区分大小写的比较。 postgresql中还有'ILIKE',它是不区分大小写的'LIKE'版本。 – Evk

+0

@Evk难怪! – 001

回答

2

IQueryable.Where在数据库中执行,所以最有可能不区分大小写。

IEnumerable.Where使用C#String.Contains,因此区分大小写。

阅读此问题的人:Returning IEnumerable vs. IQueryable