Detaillierte Erläuterung des Vergleichs der Groß- und Kleinschreibung in LINQ to Entities
Die folgende LINQ to Entities-Abfrage:
<code class="language-c#">Thingies.First(t => t.Name == "ThingamaBob");</code>
Da LINQ to Entities Lambda-Ausdrücke in SQL-Anweisungen konvertiert, werden keine Vergleiche durchgeführt, bei denen die Groß-/Kleinschreibung beachtet wird. Bei der von SQL Server standardmäßig verwendeten Sortierung SQL_Latin1_General_CP1_CI_AS wird die Groß-/Kleinschreibung nicht beachtet.
Serverseitige Lösung
Um Vergleiche unter Beachtung der Groß- und Kleinschreibung zu ermöglichen, verwenden Sie den folgenden SQL-Befehl, um die Sortierung der Spalte „Name“ in der Tabelle „Thingies“ in COLLATE Latin1_General_CS_AS zu ändern:
<code class="language-sql">ALTER TABLE Thingies ALTER COLUMN Name VARCHAR(25) COLLATE Latin1_General_CS_AS</code>
Kundenlösung
Alternativ können Sie LINQ to Objects verwenden, um einen Vergleich unter Berücksichtigung der Groß- und Kleinschreibung durchzuführen, dies ist jedoch weniger effizient:
<code class="language-c#">Thingies.Where(t => t.Name == "ThingamaBob") .AsEnumerable() .First(t => t.Name == "ThingamaBob");</code>
Das obige ist der detaillierte Inhalt vonWie führt man mit LINQ to Entities Vergleiche unter Beachtung der Groß- und Kleinschreibung durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!