<p>Oui, les deux vous donneront une <a href="https://msdn.microsoft.com/en-us/library/bb738633(v=vs.110).aspx#Anchor_0">exécution différée</a>.</p>
<p>La différence est que <a href="https://msdn.microsoft.com/en-us/library/bb351562.aspx"><code>IQueryable<T></code></a> est l’interface qui permet à LINQ-to-SQL (LINQ-to-n’importe quoi en réalité) de fonctionner. Donc si vous affinez davantage votre requête sur un <a href="https://msdn.microsoft.com/en-us/library/bb351562.aspx"><code>IQueryable<T></code></a>, cette requête sera exécutée dans la base de données, si possible.</p>
<p>Pour le cas <a href="https://msdn.microsoft.com/en-us/library/9eekhta0.aspx"><code>IEnumerable<T></code></a>, ce sera du LINQ-to-object, ce qui signifie que tous les objets correspondant à la requête originale devront être chargés en mémoire depuis la base de données.</p>
<p>En code :</p>
<pre><code class="lang-auto">IQueryable<Customer> custs = ...;
// Later on...
var goldCustomers = custs.Where(c => c.IsGold);
</code></pre>
<p>Ce code exécutera du SQL pour sélectionner uniquement les clients gold. Le code suivant, en revanche, exécutera la requête originale dans la base de données, puis filtrera les clients non-gold en mémoire :</p>
<pre><code class="lang-auto">IEnumerable<Customer> custs = ...;
// Later on...
var goldCustomers = custs.Where(c => c.IsGold);
</code></pre>
<p>C’est une différence assez importante, et travailler sur <a href="https://msdn.microsoft.com/en-us/library/bb351562.aspx"><code>IQueryable<T></code></a> peut dans de nombreux cas vous éviter de retourner trop de lignes depuis la base de données. Un autre exemple typique est la pagination : si vous utilisez <a href="https://msdn.microsoft.com/en-us/library/bb300906.aspx"><code>Take</code></a> et <a href="https://msdn.microsoft.com/en-us/library/bb357513.aspx"><code>Skip</code></a> sur <a href="https://msdn.microsoft.com/en-us/library/system.linq.iqueryable.aspx"><code>IQueryable</code></a>, vous n’obtiendrez que le nombre de lignes demandées ; faire cela sur un <a href="https://msdn.microsoft.com/en-us/library/9eekhta0.aspx"><code>IEnumerable<T></code></a> fera charger toutes vos lignes en mémoire.</p>