Una delle novità di Entity Framework Core 2.1 è la possibilità di utilizzare il lazy loading per caricare le entity solo quando richieste. Esistono tre tecniche con cui si può introdurre il lazy loading nelle nostre applicazioni: i proxy, il lazy loader e l'action loader. In questo script ci occupiamo della prima tecnica.
Questa tecnica si basa sulla capacità di Entity Framework Core di wrappare la nostra entity in un proxy e di wrappare getter e setter delle navigation property per accedere al database.
Per fare questo dobbiamo rendere le nostre classi non sealed e marcare le navigation property come virtual. Infine dobbiamo aggiungere all'applicazione il pacchetto nuget Microsoft.EntityFrameworkCore.Proxies e usare il metodo UseLazyLoadingProxies in fase di configurazione del contesto.
public partial class Customers { public virtual List<Order> Orders { get; set; } } public partial class northwindContext : DbContext { protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { optionsBuilder.UseSqlServer("Server=(local);Database=northwind;Trusted_Connection=True;"); optionsBuilder.UseLazyLoadingProxies(); } } ... }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare Model as a Service su Microsoft Azure
Le novità di Angular: i miglioramenti alla CLI
Sfruttare lo streaming di una chiamata Http da Blazor
Utilizzare il trigger SQL con le Azure Function
.NET Conference Italia 2023
Migrare una service connection a workload identity federation in Azure DevOps
Eseguire attività con Azure Container Jobs
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Configurare policy CORS in Azure Container Apps
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Miglioramenti nell'accessibilità con Angular CDK
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)