Nested linq select con max id

giovedì 22 gennaio 2015 - 16.52
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010  |  Oracle 11g

chira Profilo | Newbie

buongiorno,
io vorrei tradurre in linq questa query:
select * from T_VERSION ver where (ver.id_file,VER.VERSION) in(select id_file, max(version) from T_VERSION group by id_file)

in pratica se supponiamo di avere questi campi
ID | ID_FILE | VERSION
1 | 1| 1
2 | 1| 2
3 | 1| 3
4 | 2| 1
5 | 2| 2

vorrei ottenere l'id raggruppato su id_file con version massima => ottenere le righe:
3 | 1| 3 e 5 | 2| 2

ho provato a usare questa ma non funziona, mi ritorna i campi sbagliati:
dataprovider => from fileVer in dataprovider where fileVer.ID == (from ver in dataprovider select ver).Max(u => u.VERSION) select fileVer).ToList();

sapete aiutarmi?

grazie

alx_81 Profilo | Guru

>buongiorno,
ciao
>io vorrei tradurre in linq questa query:
>select * from T_VERSION ver where (ver.id_file,VER.VERSION) in(select
>id_file, max(version) from T_VERSION group by id_file)
>sapete aiutarmi?
che ne dici di questa?

var result = from t in table group t by t.ID_FILE into grp select grp.OrderByDescending(d => d.VERSION).First();
>grazie
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/en-us/mvp/Alessandro%20Alpi-4014222
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5