Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

return _applicationContext.Set<Produto>().ToList();

Boa noite, Isso serio meio que equivalente a um select * from tblProduto ?

6 respostas
solução!

Exatamente isso. Está selecionando o DbSet de Produto, que no banco de dados será a tabela Produto, sem especificar nenhum filtro. É exatamente um Select sem Where. Vai trazer todos os registros da tabela.

Obrigado Diego.

Olha esse exemplo Rafael. Recupera os dados do banco, convertendo em uma lista, mas agora recupera apenas os produtos que o nome começa com b.

return _applicationContext.Set<Produto>()
        .Where(p => p.Nome.StartsWith('b'))
        .ToList();

É equivalente a consulta SQL abaixo.

SELECT    dbo.Produto.*
FROM    dbo.Produto
WHERE    dbo.Produto.Nome LIKE 'B%'

Nossa Diego esta ajudando de mais. Para mais informações sobre esses métodos como StartWith posso me aporfundar em expressões Lambda ou tem algum outro tópico ?

Estudar LINQ e expressão Lambda vai te ajudar sim. Tem dois cursos sobre o tema aqui na Alura

Mas o StartsWith, que perguntou, é um método da classe String. A propriedade Nome, da classe Produto, é uma String, por isso deu para usar no exemplo.

Segue abaixo o link para a documentação da Microsoft sobre o método StartsWith. No menu esquerda da página vai encontrar os outros métodos disponíveis.

Também te recomendo esses dois outros cursos. Vai te ajudar bastante.

Se ainda não fez, também pode fazer esses dois. Se já tiver feito, vale dar uma revisada. Explora strings, expressões e LINQ.