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
Eliminare una project wiki di Azure DevOps
Ridurre il reflow cambiando il CSS
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Ottimizzare le performance usando Span<T> e il metodo Split
Introduzione alle Container Queries
Configurare e gestire sidecar container in Azure App Service
Gestione dell'annidamento delle regole dei layer in CSS
Utilizzare WebJobs su Linux con Azure App Service
Migliorare l'organizzazione delle risorse con Azure Policy
Montare Azure Blob Storage su Linux con BlobFuse2
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Recuperare gli audit log in Azure DevOps