image

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.