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
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Usare una container image come runner di GitHub Actions
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Eseguire i worklow di GitHub su runner potenziati
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Evitare il flickering dei componenti nel prerender di Blazor 8
.NET Conference Italia 2024
Cancellare una run di un workflow di GitHub
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Usare le navigation property in QuickGrid di Blazor
Effettuare il refresh dei dati di una QuickGrid di Blazor
Autenticarsi in modo sicuro su Azure tramite GitHub Actions