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
Filtering sulle colonne in una QuickGrid di Blazor
Assegnare un valore di default a un parametro di una lambda in C#
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Reactive form tipizzati con modellazione del FormBuilder in Angular
Utilizzare un service principal per accedere a Azure Container Registry
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Gestire liste di tipi semplici con Entity Framework Core
Creare un webhook in Azure DevOps
Creazione di componenti personalizzati in React.js con Tailwind CSS