AJUDA COM EXPRESSÃO LAMBDA
Bom dia, pessoal.
Tenho uma query onde preciso que me retorne somente os meses e os anos dos registros sem repetir.
Precisaria fazer essa mesma query só que com expressão Lambda, alguém poderia me ajudar?
Tenho uma query onde preciso que me retorne somente os meses e os anos dos registros sem repetir.
SELECT DatePart(Month, DataVencimento), DatePart(Year, DataVencimento)
FROM Lancamento
Group By DatePart(Month, DataVencimento), DatePart(Year, DataVencimento)
Order By DatePart(Year, DataVencimento), DatePart(Month, DataVencimento)
Precisaria fazer essa mesma query só que com expressão Lambda, alguém poderia me ajudar?
Encontrei uma LINQ que faz exatamente isso que eu preciso:
var query = _lancamentos.GroupBy(x => new { x.DataVencimento.Month, x.DataVencimento.Year })
.Select(y => new { mes = y.Key.Month, ano = y.Key.Year })
.OrderBy(x => x.mes).OrderBy(x => x.ano).ToList();
é correto usar LINQ com Lambda? é uma boa prática? Qual é a melhor forma de se utilizar?
Gostaria que os colegas mostrassem seu ponto de vista em relação a essa questão.
var query = _lancamentos.GroupBy(x => new { x.DataVencimento.Month, x.DataVencimento.Year })
.Select(y => new { mes = y.Key.Month, ano = y.Key.Year })
.OrderBy(x => x.mes).OrderBy(x => x.ano).ToList();
é correto usar LINQ com Lambda? é uma boa prática? Qual é a melhor forma de se utilizar?
Gostaria que os colegas mostrassem seu ponto de vista em relação a essa questão.
Não existe um correto, são duas formas de se fazer exatamente a mesma coisa, vai da preferência do programador.
Na prática, quando se usa Linq ele é na verdade transformado pelo compilador em chamadas a estas funções usadas com o Lambda
Na prática, quando se usa Linq ele é na verdade transformado pelo compilador em chamadas a estas funções usadas com o Lambda
Valeu Ocelot, obrigado pela explicação.
Vou deixar o tópico aberto até à tarde para se alguém mais quiser dar sua opinião....
Vou deixar o tópico aberto até à tarde para se alguém mais quiser dar sua opinião....
Tópico encerrado , respostas não são mais permitidas