De retour IEnumerable<T> vs IQueryable<T>

Quelle est la différence entre le retour IQueryable<T> vs IEnumerable<T>?

IQueryable<Customer> custs = from c in db.Customers
where c.City == "<City>"
select c;

IEnumerable<Customer> custs = from c in db.Customers
where c.City == "<City>"
select c;

Seront tous deux mis à exécution différée et quand doit-on être préférée à une autre?

OriginalL'auteur stackoverflowuser | 2010-05-20