Entity Framework Core permette di caricare una entity e le sue entity collegate in un solo comando. Questa capacità torna utile, ad esempio, quando vogliamo caricae un ordine, i suoi dettagli e il cliente che lo ha piazzato. Per fare questo Entity Framework Core usa una sintassi basata su LINQ simile a quella adottata in Entity Framework 6.
Il metodo da invocare è Include che accetta in input la lambda che rappresenta la proprietà da precaricare.
var ordine = context.Ordini .Include(o => o.Dettagli) .Include(o => o.Cliente) .ToList();
In questo caso abbiamo caricato l'ordine e due entity direttamente collegate all'ordine. possiamo anche andare più a fondo e caricare entity a un livello più basso. Ad esempio possiamo caricare anche il prodotto collegato al dettaglio dell'ordine. per fare questo dobbiamo usare il metodo ThenInclude.
var ordine = context.Ordini .Include(o => o.Dettagli) .ThenInclude(d => d.Prodotto) .Include(o => o.Cliente) .ToList();
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Miglioramenti nelle performance di Angular 16
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Creare gruppi di client per Event Grid MQTT
Eseguire una GroupBy per entity in Entity Framework
Copiare automaticamente le secret tra più repository di GitHub
Hosting di componenti WebAssembly in un'applicazione Blazor static
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Usare lo spread operator con i collection initializer in C#
Utilizzare database e servizi con gli add-on di Container App
Migrare una service connection a workload identity federation in Azure DevOps
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)