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
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Filtering sulle colonne in una QuickGrid di Blazor
Utilizzare QuickGrid di Blazor con Entity Framework
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Usare le navigation property in QuickGrid di Blazor
Effettuare il binding di date in Blazor
Change tracking e composition in Entity Framework