Quando dobbiamo gestire l'ereditarietà in Entity Framework Core, l'entity set esposto dal contesto ha come parametro generico il tipo base della catena di ereditarietà. Se abbiamo una classe base Person e le classi derivate Manager e Employee, l'entity set è di tipo DbSet
Fino ad Entity Framework Core 2.0, quando dovevamo scrivere una query LINQ, tramite il metodo Include potevamo precaricare solo le navigation property del tipo di base Person. A partire da Entity Framework Core 2.1 possiamo precaricare anche proprietà dei tipi derivati eseguendo un cast all'interno del metodo come mostrato nel prossimo esempio.
var query1 = context.People.Include(p => ((Manager)p).Car); var query2 = context.People.Include(p => (p as Manager).Car); var query3 = context.People.Include("Car");
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Le novità di Angular: i miglioramenti alla CLI
Evitare la script injection nelle GitHub Actions
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Usare le collection expression per inizializzare una lista di oggetti in C#
Effettuare il binding di date in Blazor
Eseguire attività con Azure Container Jobs
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Determinare lo stato di un pod in Kubernetes
Eseguire una GroupBy per entity in Entity Framework