Eu tenho uma tabela, 'lasttraces', com os seguintes campos.
Id, AccountId, Version, DownloadNo, Date
Os dados são assim:
28092|15240000|1.0.7.1782|2009040004731|2009-01-20 13:10:22.000
28094|61615000|1.0.7.1782|2009040007696|2009-01-20 13:11:38.000
28095|95317000|1.0.7.1782|2009040007695|2009-01-20 13:10:18.000
28101|15240000|1.0.7.1782|2009040004740|2009-01-20 14:10:22.000
28103|61615000|1.0.7.1782|2009040007690|2009-01-20 14:11:38.000
28104|95317000|1.0.7.1782|2009040007710|2009-01-20 14:10:18.000
Como posso, no LINQ to SQL , obter apenas o último traço de cada AccountId (aquele com a data mais alta)?
c#
.net
linq
linq-to-sql
Bas Jansen
fonte
fonte
Respostas:
Se você quiser apenas a última data para cada conta, use:
Se você quiser o registro completo:
fonte
method-chain
solução para isso.(from n in table ...).First()
?First()
chamada deve ser aplicada àg.Order...
expressão (subconsulta).Aqui está uma maneira simples de fazer isso
Também dê uma olhada neste ótimo local do LINQ - Amostras do LINQ to SQL
fonte
Se você quiser o registro inteiro, aqui está uma maneira lambda:
fonte
Pode ser algo como:
fonte
Siga uma maneira simples de fazer isso: -
Criou uma classe para conter as seguintes informações
Vá para a lista de sites armazenados em um objeto ArrayList. E executei a consulta seguinte para classificá-la em ordem decrescente por Nível.
Depois de classificar a coleção em ordem decrescente, escrevi o código a seguir para obter o objeto que vem na linha superior
Isso funcionou como um encanto.
fonte