There is an unsaved comment in progress. You will lose your changes if you continue. Are you sure you want to reopen the work item?
Cache the compiled expression to improve performance
[Performance] When the OData [Queryable] logic composes the query, it currently converts simple IEnumerable's to IQueryable using Enumerable.AsQueryable() when building the query expression. But performance tests have shown an expression like 'customers.where()" runs 10x faster than "customers.AsQueryable().where()" when 'customers' is a simple IEnumerable<Customer>.
If the controller action really did return a simple IEnumerable, the query execution logic should respect that and avoid converting using AsQueryable() unnecessarily. This will benefit primarily LinqToObjects() applications