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.

IEnumerable IQueryable
 Namespace
 System.Collections System.Linq
 Derivata da
 –  IEnumerable
 Esecuzione differita
 Supportata Supportata
 Lazy Loading
 Non supportato Supportato
 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 memory Paginazione

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.jpgamerlinPrincipianti.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  Funzionamento Viene eseguita la query sul server, vengono ritornati...La prima Community su .NET a Tortona (AL)