Heim > Backend-Entwicklung > C++ > Wie kann ich in LINQ to Entities Vergleiche unter Berücksichtigung der Groß-/Kleinschreibung durchführen?

Wie kann ich in LINQ to Entities Vergleiche unter Berücksichtigung der Groß-/Kleinschreibung durchführen?

Barbara Streisand
Freigeben: 2025-01-21 17:36:09
Original
169 Leute haben es durchsucht

How Can I Perform Case-Sensitive Comparisons in LINQ to Entities?

Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung in LINQ to Entities

Im Gegensatz zu LINQ to Objects unterstützt LINQ to Entities Vergleiche unter Beachtung der Groß-/Kleinschreibung nicht direkt. Dies liegt daran, dass LINQ to Entities Lambda-Ausdrücke in SQL-Anweisungen umwandelt, die letztendlich von der Datenbank (z. B. SQL Server) ausgeführt werden. Standardmäßig verwendet SQL Server eine Sortierung ohne Berücksichtigung der Groß-/Kleinschreibung, was bedeutet, dass die folgende Abfrage unabhängig von der Groß-/Kleinschreibung immer eine Übereinstimmung zurückgibt:

<code>context.Thingies.First(t => t.Name == "ThingamaBob");</code>
Nach dem Login kopieren

Serverseitige Lösung

Um den Vergleich zwischen Groß- und Kleinschreibung in LINQ to Entities zu implementieren, muss die Datenbanksortierung der relevanten Spalten geändert werden. Beispielsweise ändert die folgende SQL-Anweisung die Sortierung der Spalte „Name“ in der Tabelle „Thingies“ so, dass die Groß-/Kleinschreibung beachtet wird:

<code>ALTER TABLE Thingies ALTER COLUMN Name VARCHAR(25) COLLATE Latin1_General_CS_AS;</code>
Nach dem Login kopieren

Kundenlösung

Obwohl nicht ideal, gibt es eine clientseitige Problemumgehung, die sowohl LINQ to Entities als auch LINQ to Objects nutzt:

<code>var result = context.Thingies.Where(t => t.Name == "ThingamaBob")
                   .AsEnumerable()
                   .First(t => t.Name == "ThingamaBob");</code>
Nach dem Login kopieren

Bei diesem Ansatz wandelt AsEnumerable() die Abfrage in eine speicherinterne Aufzählung um, sodass Sie mit Where() einen sekundären Vergleich unter Berücksichtigung der Groß- und Kleinschreibung durchführen können. Diese Problemumgehung führt jedoch zu zusätzlichen Abfragen der Datenbank.

Das obige ist der detaillierte Inhalt vonWie kann ich in LINQ to Entities Vergleiche unter Berücksichtigung der Groß-/Kleinschreibung durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage