1
resposta

Por que usar o método Single()

Fizemos várias consultas semelhantes a essa ao decorrer do curso e não foi necessário utilizar o método Single(). Por que agora foi preciso utilizar?

1 resposta

Olá Maycon

O método Single() é utilizado quando esperamos que a consulta retorne apenas um resultado. No caso do exemplo que você mencionou, a consulta está agrupando todas as notas fiscais em um único grupo e calculando o valor máximo, mínimo e médio. Como sabemos que a consulta retornará apenas um grupo, podemos utilizar o método Single() para obter esse resultado.

No código que você compartilhou, a consulta está sendo realizada da seguinte forma:

var vendas = (from nf in contexto.NotasFiscais
              group nf by 1 into agrupado
              select new
              {
                  maiorVenda = agrupado.Max(nf => nf.Total),
                  menorVenda = agrupado.Min(nf => nf.Total),
                  vendaMedia = agrupado.Average(nf => nf.Total)
              }).Single();

O método Single() é aplicado após a consulta, e retorna o único resultado esperado. Nesse caso, a variável vendas será um objeto com as propriedades maiorVenda, menorVenda e vendaMedia, que representam respectivamente o valor máximo, mínimo e médio das notas fiscais.

Espero ter esclarecido sua dúvida! Se tiver mais alguma pergunta, é só me dizer. Bons estudos!

Espero ter ajudado e bons estudos!