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?