Todos que trabalham com o conceito de ORM, como o Entity Framework por exemplo, já devem ter encontrado o seguinte erro:
LINQ To Entities does not recognize the method Last
Assim, para First, FirstOrDefault etc; Não é mesmo?
Bom, este problema é relativamente simples de ser corrigido, não é um exemplo de performance, mas resolve bem o problema sem maiores custos à aplicação
Veja:
return context.Pessoa.OrderBy(p => p.Pessoa.Nome).OrderByDescending(x => x.Id).Take(1).Single());
Com isto você retorna a lista ordenando por Id e pega somente 1, assim você pega o último da lista, serve também para pegar o primeiro, utilizando a ordenação contrária.
Dica simples e fácil! 🙂
Um abraço a todos.