Queryable Class
Provides a set of static (Shared in Visual Basic) methods for querying data structures that implement IQueryable(T).
Assembly: System.Core (in System.Core.dll)
The set of methods declared in the Queryable class provides an implementation of the standard query operators for querying data sources that implement IQueryable(T). The standard query operators are general purpose methods that follow the LINQ pattern and enable you to express traversal, filter, and projection operations over data in any .NET-based programming language.
The majority of the methods in this class are defined as extension methods that extend the IQueryable(T) type. This means they can be called like an instance method on any object that implements IQueryable(T). These methods that extend IQueryable(T) do not perform any querying directly. Instead, their functionality is to build an Expression object, which is an expression tree that represents the cumulative query. The methods then pass the new expression tree to either the Execute(TResult)(Expression) method or the CreateQuery(TElement)(Expression) method of the input IQueryable(T). The method that is called depends on whether the Queryable method returns a singleton value, in which case Execute(TResult)(Expression) is called, or has enumerable results, in which case CreateQuery(TElement)(Expression) is called.
The actual query execution on the target data is performed by a class that implements IQueryable(T). The expectation of any IQueryable(T) implementation is that the result of executing an expression tree that was constructed by a Queryable standard query operator method is equivalent to the result of calling the corresponding method in the Enumerable class, if the data source were an IEnumerable(T).
In addition to the standard query operator methods that operate on IQueryable(T) objects, this class also contains a method, AsQueryable, which types IEnumerable objects as IQueryable objects.
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.