L'uscita del Service Pack 1 ha segnato l'introduzione di numerose novità, una tra queste l'EntityDataSource che consente di utilizzare le funzionalità di Entity Framework.
Come si può intuire dal nome stesso, questo controllo ci offre la possibità di utilizzare come datasource per i nostri controlli (GridView, Repeater, ecc) una sorgente dati proveniente da Entity Framework.
Il concetto non si discosta molto da quanto offre l'ObjectDataSource, ma mentre per quest'ultimo viene effettuato il databind del risultato di un metodo specifico, per EntityDataSource viene effettuato il bind di un'oggetto mappato tramite Entity Framework.
Per poterlo utilizzare, come prima cosa è necessario aggiungere al nostro progetto un "ADO.NET Entity Data Model" come mostrato dallo screenshot seguente:

Da questo punto in poi basta seguire il wizard selezionando prima il mapping e successivamente gli oggetti interessati.
Se si desidera utilizzare il wizard grafico è importante salvare il tutto ed effettuare una compilazione, per far si che il designer di Visual Studio possa leggere le informazioni; in caso contrario, se si decide per un approccio dedicato al markup, non è necessario effettuare nessuna build.
Lo snippet seguente mostra come associare un EntityDataSource ad un nostro controllo:
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="EntityDataSource1"> <ItemTemplate><%#Eval("Description")%> <ItemTemplate> </asp:Repeater> <asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=Entities" DefaultContainerName="Entities" EntitySetName="TestTable" Select="it.[ID], it.[Description]"> </asp:EntityDataSource>
Come possiamo vedere il markup è piuttosto semplice, abbbiamo le proprietà Connectionstring e DefaultContainerName che hanno come valore il nome della connessione creata precedentemente tramite ADO.NET Entity Data Model e che troviamo nel nostro file di configurazione, mentre EntitySetName è il nome della nostra classe, anch'essa creata nel Wizard iniziale, mentre Select equivale alla query LINQ sul nostro oggetto TestTable.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire interfacce multiple nella DI di ASP.NET Core
Aggiungere tag a una query con Entity Framework Core 2.2
Compilare dinamicamente le view in ASP.NET Core 3.0
Consumare dati binari in realtime lato client con ASP.NET Core SignalR
Sfruttare HTTP2 con IIS e Kestrel in ASP.NET Core
Verificare la connettività a un servizio in ASP.NET Core
Gestire la localizzazione con ASP.NET Core
Portare un progetto da ASP.NET Core 2.2 a 3.0
Sfruttare la dependency injection in un Filter di ASP.NET Core
Scenari complessi di validazione con FluentValidation su ASP.NET Core
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: http://aspit.co/wkly buon week-end!
- rilasciato #netcore31, con SDK e runtime. aggiornamenti anche per #aspnet31, #efcore31, #ef64, #blazor e #VS2019 info e download su https://aspit.co/byj
- DevOps in a .NET world
- WPF and Windows Apps in .NET Core 3
- Building modern web apps with Blazor
- What's new in Xamarin and Visual Studio for macos
- Creare un component che visualizza gli errori di validazione in Angular