Linq & String.ToLower () seltsames Verhalten


Ich habe eine Abfrage auf der Serverseite, die eine Liste verschiedener Städte aus einer Postleitzahlentabelle zurückgibt.
Ich verwende den WCF-RIA-Dienst.
Die folgende Abfrage gibt erfolgreich 228 Städte zurück, wennprovincename == ""

    public IQueryable<CityPM> GetCities(string provinceName)
    {
        return this.ObjectContext.ZipCodes.Where(z => z.Province.Contains(provinceName))
                                          .GroupBy(z => z.City)
                                          .Select(g => g.FirstOrDefault())
                                          .Select(zc => new CityPM() { ID = zc.ID, Name = zc.City });
    }

, aber wenn ich die ToLower () -Methode wie folgt verwende, gibt die Abfrage 0 Städte zurück, wennprovincename == "".

    public IQueryable<CityPM> GetCities(string provinceName)
    {
        return this.ObjectContext.ZipCodes.Where(z => z.Province.ToLower().Contains(provinceName.ToLower()))
                                          .GroupBy(z => z.City)
                                          .Select(g => g.FirstOrDefault())
                                          .Select(zc => new CityPM() { ID = zc.ID, Name = zc.City });
    }

Warum gibt die Abfrage nichts zurück?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage