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
Utilizzare il trigger SQL con le Azure Function
Paginare i risultati con QuickGrid in Blazor
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Miglioramenti nelle performance di Angular 16
Hosting di componenti WebAssembly in un'applicazione Blazor static
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Usare le variabili per personalizzare gli stili CSS
Le novità di Angular: i miglioramenti alla CLI
Miglioramenti agli screen reader e al contrasto in Angular
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Creazione di componenti personalizzati in React.js con Tailwind CSS
Code scanning e advanced security con Azure DevOps