Attualmente Entity Framework Core non supporta il LazyLoading. Tuttavia, a partire dalla versione 1.1, Entity Framework Core permette di caricare le entity collegate anche dopo aver effettuato una query. Per utilizzare questa funzionalità dobbiamo ricorrere alle API esposte dalle entry nel DbContext.
Per caricare una proprietà di tipo lista, dobbiamo recuperare l'entry e poi utilizzare il metodo Collection per ottenere il riferimento alla proprietà. Se invece si vuole caricare una proprietà che si riferisce a un oggetto singolo, si deve recuperare l'entry e poi usare il metodo Reference. Una volta ottenuto il riferimento alle proprietà (sia che siano singole o lista), dobbiamo chiamare il metodo Load come mostrato nel seguente esempio.
using (var context = new MyContext()) { var order = context.Orders.First(o => o.Id == 1); context.Entry(order) .Collection(b => b.Details) .Load(); context.Entry(blog) .Reference(b => b.Customer) .Load(); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Specificare il versioning nel path degli URL in ASP.NET Web API
Utilizzare gli snapshot con Azure File shares
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Eseguire query verso tipi non mappati in Entity Framework Core
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Creare form tipizzati con Angular
Limitare le richieste lato server con l'interactive routing di Blazor 8
Le novità di Entity Framework 8
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
I più letti di oggi
- C# 4
- Spaziatura tra i caratteri in Silverlight 5
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Segui in tempo reale il TechEd 2004
- da oggi è possibile fare login velocemente con LinkedIn e Google. a questi si aggiunge il supporto già attivo per Facebook, Twitter, Microsoft Account, Windows Hello e OpenID, per darvi sempre più possibilità di accedere semplicemente alla nostra community! #aspitalia
- Migrare una service connection a workload identity federation in Azure DevOps
- Evitare postback multipli in un UpdatePanel