2017-04-07 4 views
0

"Enthält" in Entity Framework Kern sollte dem SQL% wie% Operator entsprechen. Daher sollte "Enthält" nicht zwischen Groß- und Kleinschreibung unterschieden werden. (mindestens in Postgres ????)Entity Framework-Kern - Enthält Groß-/Kleinschreibung oder Groß-/Kleinschreibung?

Die folgenden gibt nur ein Ergebnis aus, wenn das richtige Gehäuse für Schlüsselwort verwendet wird.

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

Was mache ich falsch?

+2

LIKE ** ** ist Groß- und Kleinschreibung in postgresql. – Evk

+0

Beachten Sie, dass es eine Erweiterung namens "citext" gibt, mit der Sie Spalten vom Typ "citext" verwenden können, bei denen die Groß-/Kleinschreibung nicht berücksichtigt wird. Andernfalls sollten Sie 'low' explizit verwenden, um die Groß-/Kleinschreibung nicht zu beachten. Es gibt auch 'ILIKE' in postgresql, was die Groß- und Kleinschreibung von' LIKE' ist. – Evk

+0

@Evk kein Wunder! – 001

Antwort

2

IQueryable.Where wird in der Datenbank ausgeführt, daher ist es höchstwahrscheinlich, dass die Groß-/Kleinschreibung nicht beachtet wird.

IEnumerable.Where verwendet C# String.Contains, so ist es Groß-und Kleinschreibung.

Lesen Sie diese Antwort: Returning IEnumerable vs. IQueryable

Verwandte Themen