Filtro em lambda para tela de pesquisa
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:
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?
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
Curtidas 0
Respostas
Joel Rodrigues
18/07/2017
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.
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.
GOSTEI 0
Ricardo Vieira
18/07/2017
No caso ficaria desta forma?
E se eu tiver um combobox categoria onde Todos = 0, Educação = 1, Esportes = 2; Estaria correto se eu fizer desta forma?
Quando é realizado a consulta com o banco de dados? Somente quando é executado o método .ToList()?
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()?
GOSTEI 0