2015-01-20 5 views
0

Как я могу сортировать данные с LINQ несколько раз? Я пробовал следовать, но он просто возвращает всех Клиентов.LINQ multiple where and if

var query = this.dbContext.Customers; 
if (!string.IsNullOrEmpty(sortFilterName)) 
{ 
    query.Where(q => q.Name.Equals(sortFilterName)); 
} 
if (!string.IsNullOrEmpty(sortFilterAddress)) 
{ 
    query.Where(q => q.Adress.Equals(sortFilterAddress)); 
} 
return query.ToList(); 

ответ

3

Ваша потребность в Ассинг вашей query переменной в результате фильтрации:

var query = this.dbContext.Customers; 
if (!string.IsNullOrEmpty(sortFilterName)) 
{ 
    query = query.Where(q => q.Name.Equals(sortFilterName)); 
} 
if (!string.IsNullOrEmpty(sortFilterAddress)) 
{ 
    query = query.Where(q => q.Adress.Equals(sortFilterAddress)); 
} 
return query.ToList(); 
+0

Спасибо, это было просто. Также выяснилось, что после публикации этого (потратил 1 час на размышления об этом раньше). – Chopman