4 pagine in totale: <<Indietro 1 [2] 3 4 Avanti >>
LINQ
La vera novità del .NET Framework 3.5 è rappresentata senza ombra di dubbio da LINQ (Language Integrated Query). LINQ fornisce un modello di programmazione che permette di eseguire interrogazioni sui dati sfruttando una sintassi SQL-like integrata nel linguaggio. In più LINQ è una tecnologia che semplifica e uniforma il modo con cui accedere alle informazioni indipendentemente dalla sorgente dati da cui esse provengono.
LINQ non è necessariamente una tecnologia unicamente pensata per la realizzazione dello strato di accesso ai dati delle applicazioni. Del resto LINQ non introduce alcun tipo di restrizione circa le scelte architetturali possibili, ma semplicemente fornisce un meccanismo per la lettura di dati strutturati standardizzato e integrato nel linguaggio. Questa nuova sintassi non si applica solo per query eseguite verso database relazionali, ma anche verso collezioni di oggetti e documenti XML.

Figura 2 - Le diverse implementazioni di LINQ
LINQ sfrutta in modo trasparente tutta una serie di estensioni apportate ai linguaggi del .NET Framework (C# 3.0 e Visual Basic 9.0), che vanno dalla type inference per la definizione di variabili locali fino ad arrivare agli extension method e alle lambda expression. Queste estensioni rendono LINQ una sintassi particolarmente potente ed espressiva, come si può apprezzare nell'esempio di codice in C# riportato di seguito.
// La query ritorna un elenco di contenuti
// scritti da un autore ordinati in base al titolo
var query =
from c in AspItaliaContents
where c.Author == "Riccardo Golia"
orderby c.Title
select new { c.Title, c.Date };
LINQ presenta quattro implementazioni incluse direttamente nel .NET Framework 3.5, ciascuna delle quali pensata per effettuare query verso sorgenti dati diverse (vedi figura 2):
- LINQ to Objects: permette di interrogare collezioni di oggetti, array e liste di dati contenuti in memoria, come mostrato nell'esempio precedente (usa l'assembly System.Core.dll e il namespace System.Linq);
- LINQ to DataSets: consente di effettuare query sui dati contenuti in un DataSet (usa l'assembly System.Data.DataSetExtensions.dll e il namespace System.Data);
- LINQ to SQL: permette di interrogare un database relazionale SQL Server e di mappare le informazioni presenti nelle tabelle in entità contenute in memoria (usa l'assembly System.Data.Linq.dll e il namespace System.Data.Linq);
- LINQ to XML: consente di effettuare in modo snello e immediato query su documenti XML o parti di essi (usa l'assembly System.Xml.Linq.dll e il namespace System.Xml.Linq).
Per ulteriori informazioni sulle estensioni dei linguaggi C# e Visual Basic, su LINQ e sull'uso della sintassi nelle diverse casistiche si rimanda ai numerosi articoli contenuti negli speciali dedicati al .NET Framework 3.5 e a Visual Studio 2008:
- Speciale .NET Framework 3.5 - giugno 2007
- Speciale per il lancio di Visual Studio 2008, SQL Server 2008 e Windows Server 2008 - febbraio/marzo 2008
ASP.NET 3.5 e ASP.NET AJAX
La novità più evidente riguardante ASP.NET 3.5 è l'integrazione con il framework dedicato a AJAX (Asynchronous JavaScript and XML). Se nel corso del 2007 ASP.NET AJAX era stato rilasciato come estensione aggiuntiva per ASP.NET 2.0, con la versione 3.5 esso entra a far parte a tutti gli effetti del .NET Framework.
Tra i controlli di ASP.NET 3.5 possiamo annoverare quindi vecchie conoscenze di chi già in passato ha avuto modo di utilizzare ASP.NET AJAX nelle proprie applicazioni: ScriptManager, UpdatePanel, UpdateProgress, Timer. Questi controlli permettono di migliorare l'interazione utente nelle applicazioni web, fornendo funzionalità che consentono il rendering parziale delle pagine, nonchè la possibilità di effettuare postback asincroni in modo del tutto trasparente, senza la necessità per gli sviluppatori di dover scrivere e inserire blocchi di codice JavaScript nelle pagine per gestire i meccanismi di comunicazione client-server. Ovviamente anche la Microsoft AJAX Library, che riguarda unicamente l'ambito client, entra a far parte di ASP.NET 3.5. Questa libreria fornisce un modello di sviluppo migliorato per la realizzazione di componenti personalizzati lato client.

Figura 3 - Il nuovo controllo ListView
Oltre ai controlli a supporto di AJAX, ASP.NET 3.5 include alcuni nuovi controlli che riguardano l'accesso e la presentazione dei dati:
- ListView, che permette di rappresentare insiemi di dati in modo altamente personalizzabile tramite l'uso di template al fine di ottenere una serie di layout tra loro differenti (vedi figura 3). Il controllo ListView consente le operazioni di inserimento, modifica e cancellazione dei dati, nonchè l'ordinamento e la paginazione;
- DataPager, che fornisce la funzionalità di paginazione per i controlli data-bound che implementano la nuova interfaccia System.Web.UI.WebControls.IPageableItemContainer come ListView;
- LinqDataSource, che consente di esporre LINQ e il suo modello di programmazione ai controlli data-bound tramite i meccanismi di binding introdotti con i controlli DataSource in ASP.NET 2.0. La proprietà ContextTypeName permette di associare al controllo LinqDataSource un oggetto DataContext di LINQ to SQL, tramite il quale diventa possibile recuperare e modificare le informazioni provenienti dalla sorgente dati.
Per le ragioni esposte in precedenza riguardanti le scelte architetturali, i controlli menzionati non sono contenuti nell'assembly System.Web.dll che si riferisce ancora alla versione 2.0. Essi sono inclusi nel nuovo assembly System.Web.Extensions.dll (versione 3.5), insieme ai controlli per AJAX e alle nuove classi di ASP.NET.
Per ulteriori informazioni su ASP.NET 3.5 si rimanda agli articoli specifici contenuti negli speciali dedicati al .NET Framework 3.5 e a Visual Studio 2008:
- Speciale .NET Framework 3.5 - giugno 2007
- Speciale per il lancio di Visual Studio 2008, SQL Server 2008 e Windows Server 2008 - febbraio/marzo 2008
4 pagine in totale: <<Indietro 1 [2] 3 4 Avanti >>
Contenuti dell'articolo
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.





Difficoltà
Stampa
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!

Complimenti per la panoramica, vorrei avere alcuni chiarimenti, se possibile.Riguardo Framework 3.5 c'è da aspettarsi qualcosa per la comunicazione ...
Continua »»» | Rispondi »»»