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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Implementare il throttling in ASP.NET Core
Utilizzare QuickGrid di Blazor con Entity Framework
Eseguire una GroupBy per entity in Entity Framework
Load test di ASP.NET Core con k6
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Short-circuiting della Pipeline in ASP.NET Core
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Le novità di Entity Framework 8
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8