di: Giuseppe Marchi 22 Ottobre 2008
È uno dei tre nuovi controlli aggiunti alla versione 3.5 dell'engine di ASP.NET (assieme a ListView e DataPage) ed è il nuovo arrivato nella famiglia dei controlli di tipo Data-Source. In particolare, questo controllo permette agli sviluppatori Web, di sfruttare con sforzo minimo tutti vantaggi offerti da LINQ.
Possiamo specificare una query di selezione utilizzando oggetti in memoria, svincolati dal classico SQL. L'utilizzo di questo controllo va a braccetto con l'uso di LINQ to SQL o del nuovo Entity Framework. Entrambi permettono la mappatura della base di dati su classi .NET.
Il funzionamento del controllo si basa su una particolare classe, detta classe di "contesto", o più comunemente DataContext: LinqDataSource si preoccupa di creare le istanze di DataContext per utilizzarle come fonte di dati per le proprie operazioni.
Quindi se utilizziamo le classi generate da Visual Studio a fronte dell'utilizzo di LINQ to SQL o dell'Entity Framework, sicuramente troviamo la classe DataContext già presente nel progetto. In questo caso possiamo specificarne il tipo all'interno di un'istanza del controllo LinqDataSource.
Vedremo però che l'utilizzo di LinqDataSource non è limitato a lavorare solamente con classi LINQ to SQL, ma con tutte le classi .NET che espongono collezioni di oggetti (o array) come proprietà pubbliche.
Possiamo considerare LinqDataSource come la fusione tra il controllo SqlDataSource e il controllo ObjectDataSource, in quanto come il primo permette di specificare la query di selezione direttamente nel markup della pagina, senza però fare alcun riferimento alla connessione con il DB; la caratteristica comune con l'ObjectDataSource è, invece, quella di permettere la selezione di informazioni da un livello di classi che si interpone tra la User Interface e il livello di accesso ai dati, con il vantaggio di non dover modificare l'implementazione dei metodi di selezione a fronte di un cambiamento anche minimo della query.
L'utilizzo del controllo si basa principalmente su queste quattro proprietà:
TableNameRisulta abbastanza intuitivo assegnare alla proprietà ContextTypeName la classe DataContext generata dalla mappatura LINQ to SQL, ma possiamo anche astrarci da questa concezione e pensare tale proprietà come la classe che espone i nostri dati, qualsiasi essi siano.
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200820 Febbraio 2012 a Milano |
|
Nessun corso previsto |