C# › LINQ

What is the difference between IEnumerable and IQueryable in LINQ?

Intermediate

Answer

IEnumerable executes in memory (LINQ-to-Objects); IQueryable builds an expression tree a provider (EF Core) translates to SQL, so filtering happens in the database.
IQueryable<User> q = db.Users.Where(u => u.Active); // -> SQL WHERE
IEnumerable<User> m = list.Where(u => u.Active);     // in memory
Real-world example Calling Where before ToList on a DbSet pushes the filter to the database instead of loading every row.