Tra le novità supportate da ASP.NET 3.5, LINQ riveste un ruolo fondamentale, soprattutto nella sua variante LINQ to SQL, che assicura una rapidità di implementazione molto ma molto marcata.
Quando non si ha bisogno di sfruttare un'architettura più complessa, perchè ad esempio si stanno costruendo semplici maschere di dati entry, senza necessità di logica aggiuntiva, il nuovo control LinqDataSource può risultare molto comodo.
Per prima cosa è necessario provvedere alla creazione del mapping tra oggetti e database, cosa possibile usando il designer di Visual Studio o con il tool da riga di comando sqlmetal.exe.
Successivamente, è sufficiente aggiungere un controllo alla pagina, come ad esempio una GridView o il nuovo ListView, per poter selezionare poi come sorgente dati LINQ, procede con l'indicazione la classe contenente il DataContext ed avere lo stesso identico risultato che si ha con un altro tipo di controllo di tipo Data Source, ma con la differenza che il LinqDataSource ben si presta a filtrare e manipolare i dati, in maniera ottimizzata al massimo, ad esempio recuperando solo i dati effettivamente necessari in caso di paginazione, senza necessità per lo sviluppatore di scrivere codice aggiuntivo.
<asp:GridView ID="List" runat="server" AutoGenerateColumns="False" DataSourceID="LinqDataSource1" > <Columns> <asp:BoundField DataField="au_id" HeaderText="au_id" ReadOnly="True" SortExpression="au_id"></asp:BoundField> <asp:BoundField DataField="au_lname" HeaderText="au_lname" ReadOnly="True" SortExpression="au_lname"></asp:BoundField> <asp:BoundField DataField="au_fname" HeaderText="au_fname" ReadOnly="True" SortExpression="au_fname"></asp:BoundField> <asp:BoundField DataField="phone" HeaderText="phone" ReadOnly="True" SortExpression="phone"></asp:BoundField> </Columns> </asp:GridView> <asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="PubsDataContextDataContext" Select="new (au_id, au_lname, au_fname, phone)" TableName="Authors"> </asp:LinqDataSource>
Agendo con il designer di VS 2008 è possibile arrivare alla definizione di tutte le funzionalità supportate.
Per approfondimenti su LINQ, si veda:
https://www.linqitalia.com/
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Effettuare il binding di date in Blazor
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Implementare il throttling in ASP.NET Core
Short-circuiting della Pipeline in ASP.NET Core
Load test di ASP.NET Core con k6
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
I più letti di oggi
- Utilizzare WebAssembly con .NET, ovunque
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- Utilizzare il trigger SQL con le Azure Function
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)