Heim > Backend-Entwicklung > C++ > Wie erreicht man in LINQ to Entities Vergleiche, bei denen die Groß- und Kleinschreibung berücksichtigt wird?

Wie erreicht man in LINQ to Entities Vergleiche, bei denen die Groß- und Kleinschreibung berücksichtigt wird?

DDD
Freigeben: 2025-01-21 17:41:09
Original
775 Leute haben es durchsucht

How to Achieve Case-Sensitive Comparisons in LINQ to Entities?

Groß-/Kleinschreibung berücksichtigende Vergleiche in LINQ to Entities erreichen

LINQ to Entities-Abfragen wie Thingies.First(t => t.Name == "ThingamaBob") berücksichtigen möglicherweise standardmäßig nicht die Groß-/Kleinschreibung. Dies liegt daran, dass LINQ to Entities Lambda-Ausdrücke in SQL übersetzt, wobei die Groß-/Kleinschreibung von den Sortierungseinstellungen der SQL Server-Datenbank abhängt.

Lösung auf Datenbankebene: Sortierung ändern

Der effizienteste Weg, Vergleiche unter Beachtung der Groß-/Kleinschreibung sicherzustellen, besteht darin, die Sortierung der Spalte auf eine Option zu ändern, bei der die Groß-/Kleinschreibung beachtet wird. Um beispielsweise in der Spalte Name in der Tabelle Thingies die Groß-/Kleinschreibung zu berücksichtigen, verwenden Sie diesen SQL-Befehl:

ALTER TABLE Thingies
ALTER COLUMN Name VARCHAR(25)
COLLATE Latin1_General_CS_AS
Nach dem Login kopieren

Clientseitiger Ansatz: Nutzung von LINQ to Objects

Wenn eine Änderung der Datenbanksortierung nicht möglich ist, bietet eine clientseitige Lösung mit LINQ to Objects eine Alternative. Dies beinhaltet eine erste Datenbankabfrage, gefolgt von einem In-Memory-Vergleich mit AsEnumerable(). Beispiel:

Thingies.Where(t => t.Name == "ThingamaBob")
        .AsEnumerable()
        .First(t => t.Name == "ThingamaBob");
Nach dem Login kopieren

Dadurch wird nach der anfänglichen Datenbankfilterung die Prüfung unter Berücksichtigung der Groß-/Kleinschreibung im Speicher durchgeführt. Beachten Sie, dass diese Methode möglicherweise weniger leistungsfähig ist als die serverseitige Sortierungsänderung.

Das obige ist der detaillierte Inhalt vonWie erreicht man in LINQ to Entities Vergleiche, bei denen die Groß- und Kleinschreibung berücksichtigt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage