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
DDDOriginal
2025-01-21 17:41:09778Durchsuche

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:

<code class="language-sql">ALTER TABLE Thingies
ALTER COLUMN Name VARCHAR(25)
COLLATE Latin1_General_CS_AS</code>

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:

<code class="language-csharp">Thingies.Where(t => t.Name == "ThingamaBob")
        .AsEnumerable()
        .First(t => t.Name == "ThingamaBob");</code>

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!

Stellungnahme:
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