Ormai anche i sassi sanno che Visual Studio 2008 è alle porte. A fine febbraio uscirà la RTM. Questo significa che se fino ad adesso si è giocato o si è provato a capire solo la base di come funzionano le cose con LINQ, è arrivato il momento di fare sul serio.
Stamattina complice il jetleg di 5 ore mi sono svegliato presto e ovviamente tra il dover pulire casa, uscire fuori con 30 gradi, subirmi le sempre più pallose trasmissioni di Formula 1 ho scelto un pò di studio di LINQ (eh lo so son malato che ci posso fare :).
Una cosa che mi son chiesto è: quando LINQ esegue la query? Non che la cosa sia particolarmente importante, ma sapere come funziona fa sempre bene. Armato di VS2008 e del fido profiler mi sono messo all'opera ed ho tirato giù questo codice:
dbcontext db = new dbcontext(); var q = From t in db.table where t.field > 10 select t; mylistview.DataSource = q; mylistview.DataBind();
Queste 4 righe di codice comportano l'esecuzione della query solo nel momento in cui viene fatto il databind alla listview. In questo caso banale, la cosa non è importante, ma se si incrementano delle variabili nella query e si pretende che queste siano incrementate prima di fare il databind, allora questa modalità rappresenta un problema. Per ovviare al problema, basta circondare la query tra parentesi ed invocare un semplice ToList() per far eseguire subito la query.
var q = (From t in db.table where t.field > 10 select t).ToList();
P.S. Il fatto che LINQ mi interessi tanto non è dovuto solo alla sua potenza e alla RTM incombente... A buon intenditor poche parole ;).
Stay Tuned...
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Entity Framework ed il mapping, il 15 luglio 2008 alle 00:34
- Il nuovo speciale in arrivo su LINQ, il 28 marzo 2008 alle 11:37
- LINQ To SQL ed il Fetching, il 27 dicembre 2007 alle 10:23
- LINQ To SQL ed un problema di null, il 16 dicembre 2007 alle 23:09
- LINQ To SQL vs NHibernate, il 25 novembre 2007 alle 16:53
- Linq non è solo interazione con il Database, il 14 ottobre 2007 alle 23:54