相关疑难解决方法(0)

Linq查询的行为不符合预期

我有一个非常简单的linq查询,如下所示:

var result = (from r in employeeRepo.GetAll()
              where r.EmployeeName.Contains(searchString) 
                    || r.SAMAccountName.Contains(searchString)
              orderby r.EmployeeName
              select new SelectListItem 
              { 
                  Text = r.EmployeeName, 
                  Value = r.EmployeeName 
              });
Run Code Online (Sandbox Code Playgroud)

这个问题是出于一些奇怪的原因,它把我搜索的每个人的记录都记录下来,无论是小写还是大写.即

  1. 测试用户
  2. 测试用户
  3. 测试用户

我会找回正确的记录.然而,当我使用小写字母搜索我自己的名字时,我没有得到任何结果,但如果我使用我的名字的第一个字母作为大写,那么我得到结果.我似乎无法弄清楚为什么这样做.

数据库中的每个名字和姓氏都以大写字母开头.

我正在使用的searchString是:

  1. richard - 我得到了正确的结果
  2. waidande - 未找到结果

上述两个用户都在数据库中.

我也Entity Framework用来查询Sql Server 2012.

c# linq sql-server entity-framework sql-server-2012

10
推荐指数
2
解决办法
670
查看次数

标签 统计

c# ×1

entity-framework ×1

linq ×1

sql-server ×1

sql-server-2012 ×1