相关疑难解决方法(0)

Linq&String.ToLower()奇怪的行为


我在服务器端有一个查询,它从一个zipcode表返回一个不同城市的列表.
我正在使用WCF RIA服务.
以下查询成功返回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 });
    }
Run Code Online (Sandbox Code Playgroud)

但如果我使用如下的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 });
    }
Run Code Online (Sandbox Code Playgroud)

为什么查询不返回任何内容?

c# linq string wcf-ria-services

4
推荐指数
2
解决办法
5175
查看次数

标签 统计

c# ×1

linq ×1

string ×1

wcf-ria-services ×1