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
Usare un KeyedService di default in ASP.NET Core 8
Gestione degli stili CSS con le regole @layer
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Utilizzare Azure Cosmos DB con i vettori
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Escludere alcuni file da GitHub Secret Scanning
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Cambiare la chiave di partizionamento di Azure Cosmos DB
Usare una container image come runner di GitHub Actions
Referenziare un @layer più alto in CSS
Evitare il flickering dei componenti nel prerender di Blazor 8
Usare il colore CSS per migliorare lo stile della pagina