ASP.NET ed Entity Framework: Paginazione ed ordinamento con EntityDataSource

di , in ASP.NET 3.5 SP 1, EntityDataSource, DataBinding,

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

Visualizza/aggiungi commenti

ASP.NET ed Entity Framework: Paginazione ed ordinamento con EntityDataSource (#978) 810 4
| Condividi su: Twitter, Facebook, LinkedIn, Google+

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi