Nello script #412 abbiamo visto che Entity Framework Core, a differenza di Entity framework 6, è in grado di gestire le relazioni tra entity senza bisogno di proprietà che mappino direttamente verso le foreign key. Tuttavia, questo non è sempre il caso. Quando modelliamo ordini e dettagli, è normale avere nell'ordine una lista di dettagli, ma nel dettaglio potremmo anche mantenere solo l'id dell'ordine senza avere una proprietà ordine.
In questi casi il mapping della relazione va impostato come segue.
modelBuilder.Entity<Ordine>() .HasMany(p => p.Dettagli) .WithOne() .HasForeignKey(p => p.IdOrdine);
Il metodo HasMany specifica che un ordine ha più dettagli. Il metodo WithOne specifica che un dettaglio appartiene a un solo ordine. In questo caso non specifichiamo nulla perche nel dettaglio non abbiamo una proprietà ordine. Infine il metodo HasForeignKey specifica quale sia la proprietà nel dettaglio che fa da foreign key verso l'ordine.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Le novità di Angular: i miglioramenti alla CLI
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Inizializzare i container in Azure Container Apps
Assegnare un valore di default a un parametro di una lambda in C#
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Come migrare da una form non tipizzata a una form tipizzata in Angular
Gestire domini wildcard in Azure Container Apps
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
I più letti di oggi
- I lego? Programmabili con .NET!
- Disponibile anche il runtime di ASP.NET 2.0
- Azure Mobile Services: costruire il back-end per le app
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Release candidate per Expression Blend
- #sqlserver 2008 r2 CTP: report builder 3.0 e #businessintelligence http://u.aspitalia.com/g
- #wcfRIAservices è pronto: http://u.aspitalia.com/d4. se vuoi un'introduzione, la nostra è su http://u.aspitalia.com/d3
- segui live #futuredecoded da Roma dalle 9:30 su http://www.communitydays.it