Olá, tudo certo e você?
O primeiro ponto importante a destacar é que a interface IQueryable
(System.Linq
) herda de IEnumerable
, de forma que tudo que IEnumerable
pode fazer, IQueryable também pode. Veja:
A IQueryable
é útil quando você esta consultando uma coleção que foi carregada usando LINQ
ou Entity Framework e você quer aplicar um filtro nesta coleção. Ele acessa diretamente o banco de dados.
Já a IEnumerable
podemos utilizá-lo em uma consulta de banco de dados, mas terá que trazer todos os resultados do banco para a memória para depois processá-lo.
Não sei se você já possui um conhecimento sobre Entity, mas notei que não fez o curso. É bastante interessante o curso de Entity Framework Core: Banco de dados de forma eficiente, LINK do curso, ele aborda de uma maneira mais detalhada pequenas consultas e criações de banco de dados.
Espero ter ajudado. Abraços!