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
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Creare una libreria CSS universale: i bottoni
Recuperare l'ultima versione di una release di GitHub
Utilizzare Container Queries nominali
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Utilizzare QuickGrid di Blazor con Entity Framework
Implementare l'infinite scroll con QuickGrid in Blazor Server
Usare il colore CSS per migliorare lo stile della pagina
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core