Heim >Backend-Entwicklung >C++ >Wie gehe ich mit der Groß-/Kleinschreibung in LINQ to Entities-Abfragen um?
LINQ to Entities and Case Sensitivity: Ein umfassender Leitfaden
Die Groß-/Kleinschreibung bei LINQ to Entities-Abfragen wird stark von der zugrunde liegenden Datenbank beeinflusst. SQL Server verwendet beispielsweise standardmäßig eine Sortierung ohne Berücksichtigung der Groß- und Kleinschreibung. Dies bedeutet, dass eine Abfrage wie t.Name == "ThingamaBob"
Groß-/Kleinschreibungsunterschiede ignoriert.
Lösung auf Datenbankebene (empfohlen)
Die effizienteste und zuverlässigste Methode für Vergleiche unter Berücksichtigung der Groß- und Kleinschreibung besteht darin, die Sortierung der Datenbankspalte anzupassen. In SQL Server erfordert dies die Verwendung des Befehls ALTER TABLE
. Beispiel: ALTER TABLE Thingies ALTER COLUMN Name VARCHAR(25) COLLATE Latin1_General_CS_AS
erzwingt die Berücksichtigung der Groß-/Kleinschreibung in der Spalte Name
.
Kundenseitiger Ansatz (Alternative)
Wenn eine Änderung der Datenbanksortierung nicht möglich ist, nutzt eine clientseitige Problemumgehung LINQ to Objects für einen sekundären Vergleich:
<code class="language-csharp">Thingies.Where(t => t.Name == "ThingamaBob") .AsEnumerable() .First(t => t.Name == "ThingamaBob");</code>
Wichtige Hinweise:
ObjectQuery.ToTraceString()
ermöglicht die Überprüfung des generierten SQL und zeigt alle angewendeten Sortierungen an.Das obige ist der detaillierte Inhalt vonWie gehe ich mit der Groß-/Kleinschreibung in LINQ to Entities-Abfragen um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!