147 messaggi dal 23 aprile 2007
Ciao a tutti,
sto cercando di tradurre la seguente query sql in linq:

SELECT SUBSTRING(LIT.Nome, 1, @numChar) AS PARTIALNAME 
FROM Localita LIT 
WHERE IsAperta = 0 
AND LIT.Nome like @Nome +'%' 
GROUP BY SUBSTRING(LIT.Nome, 1, @numChar) 
ORDER BY 1 ASC


Ma non sto riuscendo a venirne a capo.
Qualche suggerimento?

Ciao,
Sergio
5.610 messaggi dal 09 febbraio 2002
Contributi
Dove ti sei bloccato esattamente?
Prova più o meno così. Ho ipotizzato che la tabella "Localita" della tua query SQL fosse una collezione omonima all'interno di una variabile context di tipo ObjectContext.

//prima mi imposto questi due parametri di ricerca
var numChar = 2;
var nome = "T";

//poi definisco la query
var query = 
            //Della collezione "Localita" mi estraggo gli elementi che identifico come "loc"
            from loc in context.Localita
            //...li voglio estrarre a patto che "IsAperta" sia 0 e che il campo "Nome" inizi con gli stessi caratteri della variabile "nome".
            where loc.IsAperta==0 && loc.Nome.StartsWith(nome)
            //Ora, per comodità, mi creo un identificatore che chiamo "partialName" e che valorizzo con i primi caratteri del nome.
            //Ne prendo tanti quanti indicati dalla variabile numChar
            let partialName = loc.Nome.Substring(0, numChar)
            //Ora raggruppo tutti i risultati per "partialName", che ho definito nella riga qui sopra
            group loc by partialName into gruppi
            //Ma mi interessa ottenere solo la chiave di raggruppamento, quindi seleziono solo lei.
            select gruppi.Key;

//Infine posso ciclare i risultati oppure assegnarli a un databoundcontrol
dropDownList.DataSource = query;
dropDownList.DataBind();


ciao,
Modificato da BrightSoul il 08 settembre 2011 21.41 -

- So what you're saying is, if we get in trouble, there's no one to help us out?
- I'm afraid not.
- Fantastic!
147 messaggi dal 23 aprile 2007
Grazie, era esattamente quello che cercavo. :D

ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC