Groß- und Kleinschreibung von Zeichenfolgen unter Verwendung der „Contains“-Methode von LINQ
Bei der Arbeit mit Zeichenfolgenvergleichen in LINQ-Abfragen ist es wichtig, die Groß-/Kleinschreibung zu berücksichtigen. Standardmäßig berücksichtigt die Methode „Contains“ die Groß-/Kleinschreibung, was bedeutet, dass „CaseSensitive“ und „casesensitive“ nicht übereinstimmen.
Problem:
In der folgenden LINQ-Abfrage: Unser Ziel ist es, FACILITY_ITEM-Entitäten basierend auf einem Beschreibungsfilter abzurufen. Allerdings unterscheidet die Abfrage derzeit zwischen Groß- und Kleinschreibung und liefert möglicherweise nicht die gewünschten Ergebnisse.
public IQueryable<FACILITY_ITEM> GetFacilityItemRootByDescription(string description) { return this.ObjectContext.FACILITY_ITEM.Where(fi => fi.DESCRIPTION.Contains(description)); }
Lösung:
Wir können die Groß-/Kleinschreibung beim Vergleich nicht berücksichtigen Verwenden Sie die ToLower()-Methode, bevor Sie die Enthält-Prüfung durchführen. Dadurch werden sowohl der Beschreibungsfilter als auch die Datenbankwerte in Kleinbuchstaben umgewandelt, um einen Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung sicherzustellen.
fi => fi.DESCRIPTION.ToLower().Contains(description.ToLower())
Durch die Verwendung dieses aktualisierten Ausdrucks gibt die Abfrage Ergebnisse zurück, bei denen die Beschreibung des Einrichtungselements mit dem Beschreibungsfilter übereinstimmt. unabhängig von der Groß-/Kleinschreibung.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe der „Contains'-Methode von LINQ Zeichenfolgenvergleiche ohne Berücksichtigung der Groß-/Kleinschreibung durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!