Dicas sobre desenvolvimento de software, gestão e tributações

Rede Social

18 de agosto de 2020

C#: Limitando retorno de registros LINQ


 Seguindo com o LINQ vamos ver hoje como limitar o número de registros.

Caso não tenha visto os posts anteriores sugiro que dê uma conferida, neles falamos de Ordenação e Agregação.


Tendo como base a mesma classe e lista do exemplo anterior:

Aula
{
    Id int
    NomeAula string
    Curso int
    TempoDuracao datetime
}

List<Aula> aulas;

Imagine que quero saber quais são as 5 aulas com maior tempo de duração, primeiramente tenho que ordenar pelo tempo de duração, no caso como quero as de maior tempo a ordenação é descendente (do maior para o menor) e utilizo o método Take passando 5 como parâmetro.

var cursos = db.Cursos.OrderByDescending(c => c.TempoDuracao).Take(5);


Ou caso eu queira apenas a de maior tempo de duração, mas quero também me certificar de que caso eu não tenha nenhuma aula cadastrada no curso não me retorne um erro, uso o método FirstOrDefault. E indico sempre usá-lo ao invés do First como garantia, por mais que saiba que a lista tenha valores.

var curso = db.Cursos.OrderByDescending(c => c.TempoDuracao).FirstOrDefault();

0 comentários:

Postar um comentário