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
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Eseguire una query su SQL Azure tramite un workflow di GitHub
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Criptare la comunicazione con mTLS in Azure Container Apps
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Eseguire una GroupBy per entity in Entity Framework
Miglioramenti nell'accessibilità con Angular CDK
Migrare una service connection a workload identity federation in Azure DevOps
Usare le variabili per personalizzare gli stili CSS
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Determinare lo stato di un pod in Kubernetes
Sfruttare MQTT in cloud e in edge con Azure Event Grid
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)