2017-04-07 60 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