Prendo spunto da alcune domande che mi sono state rivolte in merito all’utilizzo di IEnumerable e di IQueryable. Per molti programmatori, sono considerati equivalenti.

In questo post vedremo le differenze e quando è consigliato usare uno piuttosto che l’altro.

IEnumerableIQueryable
 Namespace
 System.CollectionsSystem.Linq
 Derivata da
 – IEnumerable
 Esecuzione differita
 SupportataSupportata
 Lazy Loading
 Non supportatoSupportato
 Funzionamento
Viene eseguita la query sul server, vengono ritornati i dati e solo allora vengono eseguiti i filtri Viene eseguita la query sul server, sul server vengono eseguiti i filtri e vengono ritornati i dati
 Consigliato per
LINQ to Object and LINQ to XML LINQ to SQL queries
 Query Custom
 Non supportate Supportate
Quanto usarlo
 Nelle query di dati on-memory Nelle query dei dati out-memory (es. database)
Best Uses
 In memoryPaginazione

In poche parole, utilizzando IEnumerable vengono recuperati tutti dati dal server, e le operazioni di filtro vengono eseguite sul client.

Utilizzando IQueryable, le query ed i filtri vengono eseguite direttamente sul server, e vengono ritornati al client i dati già filtrati.

https://dotnettortona.net/wp-content/uploads/2016/01/evidenza-e1455016028172.jpghttps://dotnettortona.net/wp-content/uploads/2016/01/evidenza-150x150.jpgDotNetPrincipianti.NET,IEnumerable,IQueryablePrendo spunto da alcune domande che mi sono state rivolte in merito all'utilizzo di IEnumerable e di IQueryable. Per molti programmatori, sono considerati equivalenti. In questo post vedremo le differenze e quando è consigliato usare uno piuttosto che l'altro.IEnumerable IQueryable Namespace System.Collections System.Linq Derivata da -  IEnumerable Esecuzione differita Supportata Supportata Lazy Loading Non supportato Supportato FunzionamentoViene eseguita la query sul server, vengono ritornati...La prima Community su .NET a Tortona (AL)