Linq & String.ToLower () странное поведение
У меня есть запрос на стороне сервера, который возвращает список отдельных городов из таблицы почтовых индексов.
Я использую WCF RIA Service.
Следующий запрос успешно возвращает 228 городов, когдаprovincename == ""
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 });
}
но если я использую метод ToLower (), как показано ниже, запрос возвращает 0 городов, когдаprovincename == ""
.
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 });
}
Почему запрос ничего не возвращает?