2015-12-03 5 views
0

Ниже будет выбрать лицо, которые имеют ключевое слово, содержащиеся как FirstName и LastName"Где статья с условным«Содержит»

   if (searchFields.Contains("FirstName")) 
       { 
        query = query.Where(p => p.FirstName.Contains(keyword)); 
       } 

       if (searchFields.Contains("LastName")) 
       { 
        query= query.Where(p => p.LastName.Contains(keyword)); 
       } 

Как я могу изменить его таким образом, что она будет выбирать человек с ключевым словом, содержащимся либо FirstName или LastName?

Другими словами, я ищу, оговорке ИЛИ, но я не знаю, как это сделать

ответ

3
bool searchFirstName = searchFields.Contains("FirstName"); 
bool searchLastName = searchFields.Contains("LastName"); 
if (searchFirstName && searchLastName) 
{ 
    query = query.Where(p => p.FirstName.Contains(keyword) 
          || p.LastName.Contains(keyword)); 
} 
else if(searchFirstName) 
{ 
    query = query.Where(p => p.FirstName.Contains(keyword)); 
} 
else if(searchLastName) 
{ 
    query = query.Where(p => p.LastName.Contains(keyword)); 
} 
+0

спасибо, но это не то, что я ищу. Он работает для 2 столбцов, но для чего-то большего кода бесполезно. Я нашел то, что искал, посмотрю на мой ответ. Если у вас нет лучшей идеи –

+0

@MikeFills: если вы обнаружите, что это более удобочитаемое и поддерживаемое использование. –