#976 - ASP.NET ed Entity Framework: query di filtro ed ordinamento con EntityDataSource
di Daniele Bochicchio, in ASP.NET 3.5 SP 1, EntityDataSource, DataBinding, 2 marzo 2009
Il controllo EntityDataSource è stato introdotto con il SP 1 di ASP.NET 3.5 e consente di sfruttare un object model basato su Entity Framework all'interno di un'applicazione ASP.NET, sfruttando l'approccio visuale e dichiarativo offerto dai controlli DataSource.
Un esempio base di utilizzo di questo controlli si può trovare nello script #960.
Una volta costruito il mapping ed utilizzato un EntityDataSource per estrarre dati, il passo successivo consiste nello sfruttare criteri di filtro. Se non si hanno particolari criteri da voler applicare e si vogliono solo sfruttare i parametri operando una comparazione, è sufficiente impostare la proprietà AutoGenerateWhereClause su true e poi aggiungere i parametri alla collection WhereParameters.
<asp:EntityDataSource ID="CostumerDS" runat="server" ConnectionString="name=NorthwindEntities" DefaultContainerName="NorthwindEntities" AutoGenerateWhereClause="True"> <WhereParameters> <asp:ControlParameter ControlID="Countries" Name="Country" PropertyName="SelectedValue" Type="String" /> </WhereParameters> </asp:EntityDataSource>
Nell'esempio viene fatto un filtro utilizzando un controllo di tipo DropDownList denominato Countries.
In alternativa è possibile specificare una query agendo sulla proprietà Where e scrivendo la query in formato Entity SQL, ad esempio così:
<asp:EntityDataSource ID="CostumerDS" runat="server" .. Where="it.CompanyName LIKE @CompanyName"> <WhereParameters> <asp:ControlParameter ControlID="CompanyName" Name="CompanyName" PropertyName="Text" Type="String" /> </WhereParameters> </asp:EntityDataSource>
In questo esempio viene fatto un filtro utilizzando un operatore come LIKE con un valore preso da un controllo di tipo TextBox.
Lo stesso identico discorso può essere fatto per i criteri di ordinamento, potendo agire sulle proprietà AutoGenerateOrderByClause e OrderBy. Nel primo caso deve essere specificata una collection di OrderByParameter seguendo la stessa filosofia utilizzata per i criteri di filtro, mentre nel secondo si può impostare anche un criterio fisso.
Per approfondimenti si veda:
#960 - Il controllo EntityDataSource in ASP.NET 3.5 SP1
http://www.aspitalia.com/script/960/Controllo-EntityDataSource-ASP.NET-3.5-SP1.aspx
Approfondimenti
-
#979 - ASP.NET ed Entity Framework: Dynamic Data Control
-
.NET Framework 4.0 e VS 2010 in Release Candidate
-
Oltre il database, da Bing a Twitter: i provider per LINQ per ogni esigenza
-
#120 - Filtrare i risultati di una query in base ad una lista di dati predefiniti con Entity Framework
-
#124 - Ottimizzare le Where con l'operatore Like in Entity Framework
-
#985 - Ottimizzare il rendering dei controlli di charting di ASP.NET
-
LINQ to Reflection
-
Utilizzare Entity SQL per eseguire query in Entity Framework
-
Architettura del software: l'object model per le applicazioni web
-
#164 - Eseguire una stored procedure tramite l'Entity Client di Entity Framework
-
#999 - Mostrare una finestra di dialogo popolata tramite AJAX utilizzando jQuery
-
#172 - Compilare una query LINQ to Entities in Entity Framework

















Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.