Il rilascio del SP 1 per il .NET Framework 3.5 ha aggiunto il supporto ufficiale per l'Entity Framework ed al fine di poterlo fruttare in ambiente ASP.NET è contemporaneamente stato rilasciato un nuovo Data Source control, chiamato EntityDataSource.
L'utilizzo di EntityDataSource consente la realizzazione di applicazioni in pochi colpi di click, ma necessità di piccoli tuning per poterne migliorare le performance e l'utilizzo.
In ambiente web uno dei requisiti fondamentali è la paginazione lato server dei dati, fondamentale per non far transitare e mantenere in memoria informazioni inutili.
L'EntityDataSource supporta la paginazione lato server semplicemente impostando la proprietà AutoPage a true.
<asp:EntityDataSource ID="MyEntityDataSource" runat="server" ConnectionString="name=MyGamesDBEntities" DefaultContainerName="MyGamesDBEntities" EntitySetName="Games" EnableDelete="True" EnableInsert="True" EnableUpdate="True" AutoPage="true" AutoSort="true"/>
Questo rende possibile all'EntityDataSource, in abbinamento a controlli che supportano la paginazione, come ListView o GridView, di aggiungere correttamente il metodo query builder all'oggetto ObjectQuery<T>.
In modo del tutto simile, la proprietà AutoSort governa il funzionamento del sorting, ed è sufficiente impostarne il valore su true e dotare la propria UI di un controllo che abbia le proprietà CommandName e CommandArgument, la prima da impostare a 'sort' mentre la seconda con il nome del campo per il quale eseguire l'ordinamento.
<asp:LinkButton runat="server" ID="SortByGamesID" CommandName="Sort" CommandArgument="GamesID" Text="GamesID" />
Il precedente frammento di codice, ad esempio, potrebbe essere inserito all'interno di un ListView per determinarne l'ordinamento sulla proprietà GamesID.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Change tracking e composition in Entity Framework
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Generare velocemente pagine CRUD in Blazor con QuickGrid
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Loggare le query più lente con Entity Framework
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Eseguire query in contemporanea con EF
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core