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
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Applicare un filtro per recuperare alcune issue di GitHub
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Creare una libreria CSS universale: Immagini
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Aggiornare a .NET 9 su Azure App Service