Entity framework 在linq to sql中搜索单词?

Entity framework 在linq to sql中搜索单词?,entity-framework,linq-to-sql,Entity Framework,Linq To Sql,表用户: userid username ------------------------------------ 1 venkatesh duggirala 2 deviprasad 3 dhanu 如果用户发送username=“d”,则需要获取所有记录。通过使用“contains”,我得到的结果是2,3。但第一条记录在duggirala中也有“d” 查询: var result = from p in cxt.users

用户

userid     username 
------------------------------------
1          venkatesh duggirala
2          deviprasad  
3          dhanu
如果用户发送username=“d”,则需要获取所有记录。通过使用“contains”,我得到的结果是2,3。但第一条记录在duggirala中也有“d”

查询:

var result = from p in cxt.users
             where p.Users.username.Contains(name) 
             select new
             {
                 p.Userid
             };

按如下方式重写查询:

var result = from p in cxt.users 
         where p.Users.username.ToLower().Contains(name.ToLower())  
         select new 
         { 
             p.Userid 
         }; 

按如下方式重写查询:

var result = from p in cxt.users 
         where p.Users.username.ToLower().Contains(name.ToLower())  
         select new 
         { 
             p.Userid 
         }; 

你可以发布你的查询代码是什么样子的吗?假设用户名是一个字符串,所有三个结果都应该由你当前的查询返回。我能看到的只是contains是用大写的contains(name)写的,但是你确定用户名是venkatesh duggirala而不是简单的venkatesh吗?我只是想知道,因为用户名中不常见空格。您能发布查询代码的外观吗?假设用户名是字符串,则当前查询应返回所有三个结果。我所看到的是,contains是用大写的contains(name)编写的但是你确定用户名是venkatesh duggirala,而不仅仅是venkatesh吗?只是想知道,因为在用户名中空格并不常见。