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
Escludere alcuni file da GitHub Secret Scanning
Gestione dei nomi con le regole @layer in CSS
Utilizzare Copilot con Azure Cosmos DB
Triggerare una pipeline su un altro repository di Azure DevOps
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Applicare un filtro per recuperare alcune issue di GitHub
Generare la software bill of material (SBOM) in GitHub
La gestione della riconnessione al server di Blazor in .NET 9
Gestione CSS in Blazor con .NET 9
Miglioramenti nell'accessibilità con Angular CDK