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
Creare una libreria CSS universale: Clip-path
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Cambiare la chiave di partizionamento di Azure Cosmos DB
Gestire gli accessi con Token su Azure Container Registry
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Migliorare la sicurezza dei prompt con Azure AI Studio
Utilizzare il trigger SQL con le Azure Function
Sfruttare al massimo i topic space di Event Grid MQTT
Creare un webhook in Azure DevOps
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Filtering sulle colonne in una QuickGrid di Blazor
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- anche #vs13 update 4 è disponibile in RTM: https://aspit.co/azm
- Indicizzare Cosmos DB con #azure Search https://aspit.co/b4v di @CristianCivera #cosmosdb
- stando a @edbott, la consumer preview di #win8 sarà rilasciata il 29 febbraio! http://aspitalia.com/42