Molto spesso capita di voler sapere il numero di elementi di una proprietà di tipo lista senza però voler caricare gli elementi. Prendiamo come esempio una classe Person con una proprietà Children che contiene la lista dei figli. Se abbiamo un'istanza di Person già caricata nel contesto e vogliamo sapere il numero dei figli senza caricarli in memoria, possiamo ricorrere al seguente script.
var person = ctx.People.Find(1); var childrenCount = context.Entry(person) .Collection(b => b.Children) .Query() .Count();
In questo snippet prima recuperiamo l'entity dal database e poi eseguiamo una query per calcolare il numero di figli. La query è suddivisa in diversi passi; prima di tutto recuperiamo l'entry dal contesto, poi recuperiamo la proprietà (Children) e infine lanciamo la query che ritorna il numero degli elementi (metodi Query e Count).
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Testare l'invio dei messaggi con Event Hubs Data Explorer
Loggare le query più lente con Entity Framework
Utilizzare i variable font nel CSS
Generare velocemente pagine CRUD in Blazor con QuickGrid
Gestione degli eventi nei Web component HTML
Utilizzare Copilot con Azure Cosmos DB
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Utilizzare QuickGrid di Blazor con Entity Framework
Eliminare una project wiki di Azure DevOps
Utilizzare l'espressione if inline in una pipeline di Azure DevOps