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
Path addizionali per gli asset in ASP.NET Core MVC
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
La gestione della riconnessione al server di Blazor in .NET 9
Utilizzare WhenEach per processare i risultati di una lista di task
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Creare un agente A2Acon Azure Logic Apps
Gestire codice JavaScript con code splitting e lazy loading
Change tracking e composition in Entity Framework
Eliminare record doppi in Sql Server
Gestione delle scrollbar dinamiche in HTML e CSS
Fornire parametri ad un Web component HTML
Rendere le variabili read-only in una pipeline di Azure DevOps