Quando abbiamo una relazione molti a molti, all'interno del database creiamo una tabella che mette in relazione le due tabelle da relazionare. In un modello a oggetti questa una classe relativa alla tabella di relazione non esiste, poiché le classi puntano direttamente l'una all'altra.
Un esempio di relazione molti a molti è quella tra agenti e regioni: un agente può coprire più regioni ed una regione può essere coperta da più agenti.
Nel database abbiamo una tabella Agente, una tabella Regione e una tabella AgenteRegione. Nel modello a oggetti abbiamo una classe Agente con una proprietà Regioni, che indica le regioni coperte dall'agente, ed una classe Regione con una proprietà Agenti, che indica gli agenti che coprono la regione.
Per mappare questa relazione con Entity Framework Code-First basta aggiungere la seguente riga di codice nel metodo OnModelCreating del contesto.
public class AppContext : DbContext { protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Agente>().HasMany(a => a.Territori) .WithMany(t => t.Agenti); } ... }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Creare un webhook in Azure DevOps
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Gestione CSS in Blazor con .NET 9
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Definire stili a livello di libreria in Angular
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Fornire parametri ad un Web component HTML
Aggiornare a .NET 9 su Azure App Service
Configurare lo startup di applicazioni server e client con .NET Aspire
Gestire il colore CSS con HWB