posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

Linq ovvero la rivincita di Object Spaces ovvero bye bye DataSet

Incontrando Luca Bolognese all'inizio della sessione, oggi PM di C# e un paio di anni fa PM di Object Spaces, e gli faccio i miei complimenti. Il lavoro che aveva già brillantemente presentato alla WPC 2003 non è affatto andato sprecato ed è stato magnificamente integrato in quello che sarà C# 3.0 e VB.NET 9.0.

È Hejlsberg in persona a mostrare la sintassi e la potenza di Linq, un potente query language integrato in C# 3.0 e vb.net 9.0 per risolvere il problema del data management.

Linq si divide in DLinq, il futuro di ado.net, e XLinq, il futuro del DOM XML. I punti fondamentali sono:

  • sempre e comunque strong-typed
  • avere un controllo rigoroso al compile time
  • usare custom object che modellino i dati reali
  • usare gli attributi per mappare le proprietà di questi oggetti sui campi del database
  • usare il query language per filtrare, esplorare in modo gerarchico e raggruppare i dati, ma ottenendo per contro istanze di oggetti

La conseguenza è quella di abbandonare il modello classico costituito da connessione, query, parametri, ma soprattutto contenitori generici a base di DataSet.
Hmm, tutto questo mi ricorda qualcosa che ho detto durante il workshop data management . Il culmine arriva quando Hejlsberg ribadisce che in SQL i dati sono rettangolari, nel mondo reale no. Musica per le mie orecchie visto che continuo a ripeterlo all'infinito nei newsgroup e forum quando insisto che il dataset non può rappresentare in modo esaustivo un problema reale.

La cosa meravigliosa di Linq è che può essere usato su qualsiasi fonte dati che implementi IEnumerable.

Che dire... il mio personalissimo parere è che questo sia l'inizio della fine del linguaggio SQL. Viene spontaneo immaginare, per migliorare le performance, che in futuro verrà provvisto un meccanismo per mappare direttamente queste query con l'engine interno di SQL server. E gli altri db? Devono cominciare a correre ...

Print | posted on giovedì 15 settembre 2005 02:04 |

Feedback

Gravatar

# re: Linq ovvero la rivincita di Object Spaces ovvero bye bye DataSet

Sarebbe tutto molto bello, ma usare oggetti per mappare dati va bene finche sono pochi ma, ad esempio in un mio progetto, in cui tratto con 8000000 di record che l'utente vuole che vedere apparire in una griglia allo startup (del tutto inutile, ma lui paga) , mi sembra impossibile. Per farlo contento mi tocca paginare l'impossibile, e devo dire che MSSQL si comporta bene a meno di qualche scivolone con alcuni indici e molto tuning, ma usando un approccio OO, mi toccherebbe caricare delle collection infinite con prestazioni scandalose, e inoltre, essendo più distante dal DB, sarebbe molto difficile da ottimizzare.

CIAO
15/09/2005 10:32 | Fabio
Gravatar

# re: Linq ovvero la rivincita di Object Spaces ovvero bye bye DataSet

Per chi vuole approfondire i concetti fondamentali che stanno alla base delle nuove feature, tante indicazioni in questo eccellente post di Erik Meijer:

"Visual Basic and LINQ"
http://lambda-the-ultimate.org/node/view/967
15/09/2005 12:49 | Adrian Florea
Gravatar

# I dati SONO rettangolari

I dati SONO rettangolari, al limite possono essere triangoli rettangoli. Se fossero rotondi sprecherebbero spazio. :-)


Saluti.
15/09/2005 13:01 | Gabriele Del Giovine
Gravatar

# re: Linq ovvero la rivincita di Object Spaces ovvero bye bye DataSet

Non sono d'accordo con te ma te lo spiego un altro giorno (adesso devo andare ad un altra sessione :-)).
16/09/2005 01:59 | Fabio Santini
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET