0

I am trying get the data which is contains single word with in the word.Like below query.

List<Models.tbluser> memberslist = new List<Models.tbluser>();
var obct = (from memlist in objcontext.tblusers
           where memlist.logname.Contains(member)
          select new
          {
              userid = memlist.userid,
              logname = memlist.logname,

              decription = memlist.description
           }).ToList();

foreach (var item in obct)
{
    memberslist.Add(new tbluser
        {
            userid = item.userid,
            logname = item.logname,

            description = item.decription
         });
}

return Json(memberslist);

But here my problem is i need to search with out case sensitive.

For example

If i search with 'a' i need to get data like Admin,Administrator,User Data.

But i am not getting all these because i am searching with Contains() method.Please let me know how can i get all value either the search value is case sensitive less also.

Ben Robinson
  • 21,601
  • 5
  • 62
  • 79
user3643469
  • 15
  • 1
  • 7

2 Answers2

3

Change your where condition to be:

memlist.logname.ToUpper().Contains(member.ToUpper())

As a side note, you can shorten your query a bit (you don't need to create an intermediary list):

var memberslist =  objcontext.tblusers
    .Where(x => x.logname.ToUpper().Contains(member.ToUpper())
    .AsEnumerable()
    .Select(x => new tbluser
        {
           userid = x.userid,
           logname = x.logname,
           decription = x.description
        })
    .ToList();

return Json(memberslist);
Eren Ersönmez
  • 38,383
  • 7
  • 71
  • 92
1

You can change them to Lower or Upper Case when checking the condition using ToLower() or ToUpper():

var obct = (from memlist in objcontext.tblusers
            where memlist.logname.ToLower().Contains(member.ToLower())
            select new
                 {
                   userid = memlist.userid,
                   logname = memlist.logname,
                   decription = memlist.description

                 }).ToList();
Ehsan Sajjad
  • 61,834
  • 16
  • 105
  • 160