La versione 3.5 di
ADO.NET rappresenta l’ultima tecnologia di accesso ai dati di
Microsoft ed è una
collezione di classi facenti parte del .NET Framework,
disegnate per fornire un accesso robusto a database, che si tratti di
SQL Server,
Oracle,
Access o
XML.
ADO.NET separa l’accesso ai dati dalla loro manipolazione e rende disponibili due tipologie di classi, connesse e disconnesse: la prima tipologia permette di effettuare la connessione con la sorgente dati, di eseguire comandi e recuperare dei risultati, mentre con quelle disconnesse risulta possibile manipolare i dati offline e successivamente sincronizzare le modifiche.
Il supporto a XML è strettamente integrato in
ADO.NET, e consente di caricare, visualizzare e manipolare i dati usando
XML. Questa nuova tecnologia di accesso ai dati
made in Redmond, presenta moltissime differenze dal suo predecessore ADO; con l’aumento della popolarità della piattaforma .NET e di
ADO.NET, le domande da parte dei numerosi sviluppatori su come risolvere specifici problemi o implementare specifiche soluzioni in modo efficiente sono aumentate notevolmente e, a tal proposito,
ADO.NET 3.5 Cookbook si pone l’obiettivo di aiutare il programmatore a sviluppare soluzioni e tecniche in modo facile ed efficiente, utilizzando
ADO.NET per l’accesso ai dati.
Il testo è suddiviso in 12 capitoli e un’appendice; nel
capitolo 1 viene illustrato come effettuare la connessione a una varietà di database, come gestire la sicurezza nell’accesso, utilizzando le stringhe di connessione e diverse metodologie di autenticazione; viene inoltre spiegato come configurare, monitorare e ottimizzare le
connection pooling. Il
capitolo 2 tratta l’accesso disconnesso ai dati, illustrato, con molto codice e relative spiegazioni; come utilizzare controlli, quali
DataSet,
DataTable,
DataColumn,
DataRow,
DataView,
DataRelation e
Constraint classes in modo disconnesso.
Nel
capitolo 3 viene spiegato come interrogare e recuperare dati dai più comuni database, passando anche per XML. Viene poi trattato, seppur in modo molto sintetico, dal momento che la tecnologia richiede volumi dedicati, LINQ, il componente di Microsoft integrato nel .NET Framework, che permette di effettuare interrogazioni su oggetti, con una sintassi simile a SQL; viene illustrato come recuperare dati da un database utilizzando il suddetto linguaggio. Il successivo
capitolo 4 spiega come ricercare e analizzare i dati presenti in un DB ed effettuare dei confronti tra loro per poi approfondire, nel
capitolo 5, come aggiungere e modificare dati.
Il
capitolo 6 è dedicato alla copia e al trasferimento di dati e parla, in particolare di: serializzazione e deserializzazione dei dati, sicurezza e crittografia. Come ben sappiamo, mantenere un database integro, non solo di grosse dimensioni, è fondamentale per le prestazioni dell’applicazione con la quale lavora e, a tal proposito, il
capitolo 7 ci viene incontro trattando le transazioni, fondamentali per mantenere l’integrità dei dati quando si interagisce con data source multiple.
Il
capitolo 8 spiega come lavorare con i dati nelle applicazioni Windows e nelle
Web Form User Interface per poi passare, nel
capitolo 9, a XML e all’interazione con i dati, trattando i namespace
System.Xml,
System.Xml.Linq,
System.Xml.Schema,
System.Xml.Serialization,
System.Xml.XPath,
System.Xml.Xsl. Dopo aver compreso questi argomenti, fondamentali, il
capitolo 10 ci spiega, in modo non propriamente esteso, come ottimizzare l’accesso ai dati con .NET, soprattutto quando si interagisce con database di notevoli dimensioni.
Il
capitolo 11 è riservato all'enumerazione e mantenimento degli oggetti del database. L’ultimo
capitolo, il
12, parla dell’integrazione di SQL Server con il
Common Language Runtime (CLR). E’ presente infine un’appendice, di 48 pagine, che contiene una carrellata delle novità introdotte ad
ADO.NET, partendo dalla versione 1.0 fino a quella attuale.

Il metodo problema/soluzione utilizzato nel testo risulta essere molto intuitivo, anche se i problemi presentati non risultano essere di elevata complessità.

Alcuni argomenti avrebbero meritato una trattazione più esaustiva e mancano problemi con difficoltà progressiva, che sarebbe stato utile illustrare.