Analisando Select

image

Ol├í pessoal, hoje eu vou falar e mostrar como fazer um SELECT com like, condi├ž├úo e order usando o Entity Framework com C#. Esse SELECT pode ser usado na API, no Razor e qualquer outra classe.

  • Ferramenta: Visual Studio ou Rider
  • Linguagem: C#
  • Entity Framework

Vai ser bem simples, vamos lá para o código:

	public IEnumerable<Donors> SearchDonors(string name, string year, string type)
	{
		var result = _db.DonorsDbSet
		            .Where(x => x.Name.ToLower().Contains(name.ToLower()) ||
		                x.Type == type ||
		                x.Year == year)
	   		         .OrderBy(x=>x.Name)
	                .ToList();

    	return result;
	}
	

C├│digo 1.1 - M├ętodo e SELECT

O m├ętodo recebe tr├¬s par├ómetros, nome, ano e tipo. Depois disso eu pego o contexto e o nome da vari├ível DataSet e coloco uma condi├ž├úo Where.

Depois disso eu fa├žo uma lambda para pegar o nome da propriedade e comparar, nesse caso fa├žo um like com o Contains(name.ToLower()). Depois disso eu coloco um ou || e assim se um valor n├úo for passado, ele pega o outro. Depois eu verifico o Ano com o ou || e eu posso fazer assim com toda a condi├ž├úo.

Para finalizar eu uso o OrderBy com o campo name usando o lambda .OrderBy(x => x.Name). Como eu quero retornar uma lista, basta coloca o .ToList() para retornar.

Espero que tenha gostado e qualquer d├║vida pode entrar em contato pelo meu site https://mauriciojunior.net.