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
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Eseguire una GroupBy per entity in Entity Framework
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Usare lo spread operator con i collection initializer in C#
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Elencare le container images installate in un cluster di Kubernetes
Eseguire attività con Azure Container Jobs
Miglioramenti nelle performance di Angular 16