IEnumerable vs IQueryable

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.

Next Post

Auguri di Buon Natale e Felice Anno Nuovo!

Ven Dic 23 , 2016
  Tutto lo staff della Community DotNet Tortona vi Augura Buon Natale e un Felice Anno Nuovo! Ci aspetta un 2017 ricco di Attività ed Eventi. A presto!    

I nostri corsi

Iscriviti alla nostra newsletter

RSS Discover DotNet

RSS ASP Italia

RSS Visual Studio Magazine – News

RSS Visual Studio Magazine – Webcast

I nostri corsi

Iscriviti alla nostra newsletter