Filtro em lambda para tela de pesquisa

18/07/2017

0

Em meu projeto, eu preciso criar uma tela de pesquisa que exiba os blogs cadastrados, tem um combobox de categoria, onde eu posso selecionar uma categoria específica ou todas as categorias....

Tenho a seguinte expressão lambda:

 var query = _context.Blog.SingleOrDefaultAsync(m => m.Category == paramCaterory);

Da forma que eu fiz o filtro acima eu não consigo realizar um filtro que me traga todas as categorias, utilizando lambda como eu posso resolver meu problema?
Ricardo Vieira

Ricardo Vieira

Responder

Posts

19/07/2017

Joel Rodrigues

Olá, Ricardo. Tudo bem?

O método SingleOrDefaultAsync traz apenas 1 registros (note o "single" no nome). Para resgatar vários registros você pode usar o método Where passando o mesmo filtro.
Responder

19/07/2017

Ricardo Vieira

No caso ficaria desta forma?
var query = _context.Blog.Where(m => m.Category == paramCaterory);


E se eu tiver um combobox categoria onde Todos = 0, Educação = 1, Esportes = 2; Estaria correto se eu fizer desta forma?


var query = _context.Blog.Where(m => m.Title.Contais(paramTitle));

if(status  > 0) //Caso precise trazer uma categoria específica
{
       query = query.Where(m => m.Category == paramCaterory);
}



Quando é realizado a consulta com o banco de dados? Somente quando é executado o método .ToList()?
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar