Negli script precedenti abbiamo visto come EF 8 permetta di mappare liste di tipi semplici (primitive collection). In questo script andremo a vedere come sia possibile scrivere query che dichiarano filtri basati su una lista di tipi semplici. Riprendendo l'esempio degli script precedenti dove una persona ha più soprannomi, proviamo a filtrare tutte le persone che hanno un determinato soprannome. Come possiamo vedere nel seguente script, non ci sono nuovi comandi o tecniche da imparare, il metodo di filtro è sempre lo stesso che adotteremmo con una normale navigation property.
var nickname = "Pippo"; var people = await context.People .Where(e => e.Nicknames.Any(n => n == nickname)) .ToListAsync();
Un altro esempio che possiamo fare è ricercare le persone che abbiano più di un nickname usando la proprietà Count.
var people = await context.People .Where(e => e.Nicknames.Count > 1) .ToListAsync();
Si possono utilizzare liste di tipi semplici non solo per filtrare, ma anche per le projection tramite il metodo Select. In questo esempio torniamo solamente il nome e i primi due soprannomi di ogni persona.
var people = await context.People .Select(c => new { c.Name Nicknames = c.Nicknames.Take(2) }) .ToListAsync();
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Scrivere selettori CSS più semplici ed efficienti con :is()
Rendere le variabili read-only in una pipeline di Azure DevOps
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Recuperare l'ultima versione di una release di GitHub
Creare una libreria CSS universale: i bottoni
Utilizzare DeepSeek R1 con Azure AI
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
.NET Conference Italia 2024
Path addizionali per gli asset in ASP.NET Core MVC
I più letti di oggi
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- .NET Conference Italia 2025 - Milano
- Gestione ciclo di vita in .NET Aspire
- The Agentic Day - Milano
- Gestione CSS in Blazor con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Gestione file Javascript in Blazor con .NET 9
- Inviare un'e-mail con ASP.NET