Como escrever a seguinte consulta em expressão lambda?

10/05/2016

0

Boa tarde,

Preciso exibir os dados de uma tabela em uma view, essa tabela está relacionada com outras duas tabelas, na view eu quero que os dados fiquem em ordenados pelo nome do funcionário.

Na expressão lambda que eu fiz eu consigo exibir os dados, porem não estão em ordem alfabética, pois estou utilizando o IDFuncionario para ordenar a lista.

public ActionResult Index()
        {
            DateTime Ultimos31Dias = new DateTime();
            Ultimos31Dias = DateTime.Now.AddDays(-31);

            var ListaDeEventos = db.Eventos
                .Include("Funcionarios")
                .Where(x => x.DataAlteracao >= Ultimos31Dias)//lista dos últimos 30 dias
                .OrderBy(x => x.IDFuncionario)
                .ToList();

            return View(ListaDeEventos);
        }



Fiz um select no SQL de como eu gostaria que ficasse, nesse comando faltou relacionar uma tabela, preciso exibir também o tipo do evento da tabela TipoDeEventos (chave IDTipoDeEvento)

Select    Nome, IDEvento, NovoValor, DataAlteracao
From      Funcionarios Fun
Inner     Join Eventos Eve
On       Eve.IDFuncionario    =  Fun.IDFuncionario
where	 fun.IDFuncionario = eve.IDFuncionario
Order    By Fun.Nome


como eu faço isso em expressão lambda?

Obrigado!
Ricardo

Ricardo

Responder

Post mais votado

10/05/2016

	var ListaDeEventos = db.Eventos
		.Include("Funcionarios")
		.Where(x => x.DataAlteracao >= Ultimos31Dias)//lista dos últimos 30 dias
		.OrderBy(x => x.IDFuncionario)
		.ToList();
			
	ListaDeEventos = ListaDeEventos.OrderBy(sua-expressao)			
				



		var ListaDeEventos = db.Eventos
		.Include(f => f.Funcionarios)
		.Where(x => x.DataAlteracao >= Ultimos31Dias)//lista dos últimos 30 dias
		.OrderBy(x => f.NonFun)
		.ToList();

Jothaz

Jothaz
Responder

Mais Posts

11/05/2016

Ricardo

Jothaz, bom dia!

Obrigado pela resposta, ajudou bastante mas não funcionou... quando eu coloquei .OrderBy(x => f.Nome) ele marcou erro no f

Eu consegui fazer o que queria, porem estou confuso, o .Include não foi necessário... Quando eu li um livro de MVC 4 o .Include era essencial para eu referenciar outras tabelas no nas minhas consultas, agora estou desenvolvendo em MVC 5 e as consultas funcionam sem o .Include... estranho..

A minha expressão ficou assim:
var ListaDeEventos = db.Eventos
                //.Include(f => f.Funcionarios)
                .Where(x => x.DataAlteracao >= Ultimos31Dias)//lista dos últimos 30 dias
                .OrderBy(x => x.Funcionarios.Nome)
                .ToList();

            return View(ListaDeEventos);


Note que a linha .Include(f => f.Funcionarios) está comentada e ele está listando corretamente.

O MVC 5 não "precisa" mais do Include? ou algo está errado/estranho na minha aplicação?
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar