Nello script #548 abbiamo visto come istruire Entity Framework Core 5 sul comportamento da tenere per risolvere le Include verso le collection navigation property. In quello script abbiamo sfruttato il metodo AsSplitQuery per definire il comportamento di una singola query. Sebene questo sia un buon punto di partenza, quando abbiamo un'applicazione basata su .NET Core 1 o 2 che vogliamo portare a .NET 5 potremmo decidere di voler abilitare questo comportamento per tutte le query per non incorrere in problemi con le query con molte Include.
Possiamo impostare il comportamento a livello globale attraverso le impostazioni del provider che impostiamo come mostrato nel seguente codice
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder .UseSqlServer("MyConnectionstring", o => o.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery)); }
In questo esempio impostiamo SqlServer come database provider e nelle opzioni decidiamo che il comportamento di default per le query con Include verso collection navigation property è quello di eseguire più query invece che una singola.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Gestire la cancellazione di una richiesta in streaming da Blazor
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Miglioramenti nell'accessibilità con Angular CDK
Usare le navigation property in QuickGrid di Blazor
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Change tracking e composition in Entity Framework
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Eseguire una query su SQL Azure tramite un workflow di GitHub
Assegnare un valore di default a un parametro di una lambda in C#