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
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Eseguire una GroupBy per entity in Entity Framework
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Implementare il throttling in ASP.NET Core
Effettuare il binding di date in Blazor
Load test di ASP.NET Core con k6
Short-circuiting della Pipeline in ASP.NET Core
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Utilizzare QuickGrid di Blazor con Entity Framework
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core