Olá pessoal, meu nome é Mauricio Junior e hoje eu vou falar como ordernar seus dados de forma aleatória para mostrar aos usuários. No meu caso, eu preciso sempre que venha um curso diferente na tela principal e tudo misturado, uma hora vem o produto A em primeiro, outra hora vem o C, outra hora vem o E e assim por diante.
Como eu busco os dados do database e estou utilizando entity framework, eu prefiro fazer diretamente com o order by esse tipo de coisa. Veja o site www.ecode10.academy, em cada momento que você entra nele, os cursos aparecem na ordem diferente ao usuário.
Utilizado:
- Ferramenta Visual Studio ou Rider
- Linguagem de programação C#
- Framework .NET 6
- Database Framework Entity Framework
- Tipo do projeto Razor
Neste exemplo eu estou utilizando em Razor, mas da maneira que fiz pode ser utilizado em qualquer tipo de projeto. O código 1.1 mostra como gerar uma ordem para aparecer ao usuário de maneira diferente a cada vez que o método é acessado.
Código 1.1 - Mostrar todos os cursos
public List<CourseModel> GetAllCourses()
{
return _db.CourseModels.OrderBy(x => Guid.NewGuid()).ToList();
}
Dentro do bloco try eu utilizo o método OrderBy() com uma lâmbda de (x => Guid.NewGuid()) e esse é o método que faz a ordem dos cursos vir diferente em cada acesso. O segredo é utilizar o Guid.NewGuid() dentro do OrderBy, lembrando que, eu não tenho no database nenhum campo do tipo Guid, a chave principal da tabela é um Int simples; ou seja; é bem simples ordernar de forma aléatória.
Espero que tenha gostado e aprendido. Qualquer dúvida pode entrar em contato comigo pelo site www.mauriciojunior.net ou se quiser aprender mais e mais, acesse a plataforma de estudos que eu criei chamada ecode10.academy.