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
Utilizzo di CSS Scroll Snap per realizzare un carousel
Ottimizzare le API in ASP.NET con Feature Flags
Utilizzare le View Transition API di JavaScript
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
GitHub Quick Review per la valutazione dello stato di compliance dell'organizzazione aziendale
Utilizzare il top layer in HTML
Integrazione di Copilot in .NET Aspire
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Modificare lo stile in una QuickGrid Blazor
Utilizzare AbortController per cancellare operazioni asincrone in JavaScript
Gestione dei prompt file a livello di organizzazione aziendale in GitHub


