Interview Question

IEnumerable vs IQueryable?

IEnumerable executes sequence logic; IQueryable lets a provider translate query expressions.

💡 Concept ✅ Quick Revision 🔷 C#

Answer

IEnumerable<T> represents an enumerable sequence, while IQueryable<T> also exposes an expression tree and query provider. • LINQ to Objects runs compiled delegates in managed code. • An IQueryable provider may translate supported expressions to SQL or another remote query language. • Calling AsEnumerable switches later operators to enumerable execution without immediately running the sequence.

💡 C# Example

IQueryable<Customer> query = db.Customers.Where(customer => customer.Active); IEnumerable<Customer> local = query.AsEnumerable();

⚡ Quick Revision

IEnumerable executes sequence logic; IQueryable lets a provider translate query expressions.