Spesso abbiamo l'esigenza di eseguire query adottando sempre gli stessi filtri. Per esempio, quando dobbiamo recuperari i clienti, dobbiamo recuperare solo quelli attivi. Se nel codice eseguiamo molte query sui clienti, dobbiamo ripetere lo stesso filtro in ogni query e quest'operazione è soggetta a errori e soprattutto il codice diventa complicato da mantenere.
Per ottimizzare il codice, possiamo creare un metodo che accetta in input un oggetto IQueryable<T> e sul quale applica i filtri restituendo infine l'oggetto filtrato. In questo modo, invece che applicare i filtri ad ogni query, possiamo semplicemente invocare il metodo per poi concatenare gli altri operatori LINQ.
private IQueryable<Customer> GetCustomers(this IQueryable<Customer> input){ return input.Where(c => c.IsActive); } ... var c = ctx.Customers.GetCustomers().OrderBy(c => c.Name);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare una libreria CSS universale: i bottoni
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Supportare la crittografia di ASP.NET Core con Azure Container App
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Recuperare gli audit log in Azure DevOps
Utilizzare Containers in .NET Aspire
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Simulare Azure Cosmos DB in locale con Docker
Configurare lo startup di applicazioni server e client con .NET Aspire
Gestire gli accessi con Token su Azure Container Registry
I più letti di oggi
- Analizzare il contenuto di una issue con GitHub Models e AI
- .NET Conference Italia 2025 - Milano
- The Agentic Day - Milano
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Gestione delle scrollbar dinamiche in HTML e CSS