ASP.NET ed Entity Framework: query di filtro ed ordinamento con EntityDataSource

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.

Approfondimenti


#960 - Il controllo EntityDataSource in ASP.NET 3.5 SP1
https://www.aspitalia.com/script/960/Controllo-EntityDataSource-ASP.NET-3.5-SP1.aspx

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

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