Skip to main content
.NET Framework Class Library
IQueryable Interface

Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified.

Namespace:   System.Linq
Assembly:  System.Core (in System.Core.dll)
Syntax
Public Interface IQueryable _
	Inherits [%$TOPIC/bb495796_en-us_VS_110_1_0_0_0_0%]
public interface IQueryable : [%$TOPIC/bb495796_en-us_VS_110_1_0_1_0_0%]
public interface class IQueryable : [%$TOPIC/bb495796_en-us_VS_110_1_0_2_0_0%]
type IQueryable =  
    interface 
        interface [%$TOPIC/bb495796_en-us_VS_110_1_0_3_0_0%] 
    end

The IQueryable type exposes the following members.

Properties
  NameDescription
Public property Supported by Portable Class Library Supported in .NET for Windows Store apps ElementTypeGets the type of the element(s) that are returned when the expression tree associated with this instance of IQueryable is executed.
Public property Supported by Portable Class Library Supported in .NET for Windows Store apps ExpressionGets the expression tree that is associated with the instance of IQueryable.
Public property Supported by Portable Class Library Supported in .NET for Windows Store apps ProviderGets the query provider that is associated with this data source.
Top
Methods
  NameDescription
Public method Supported by Portable Class Library Supported in .NET for Windows Store apps GetEnumeratorReturns an enumerator that iterates through a collection. (Inherited from IEnumerable.)
Top
Extension Methods
  NameDescription
Public Extension Method Supported by Portable Class Library Supported in .NET for Windows Store apps AsParallelEnables parallelization of a query. (Defined by ParallelEnumerable.)
Public Extension Method Supported by Portable Class Library Supported in .NET for Windows Store apps AsQueryableConverts an IEnumerable to an IQueryable. (Defined by Queryable.)
Public Extension Method Supported by Portable Class Library Supported in .NET for Windows Store apps CastTResultOverloaded. Casts the elements of an IEnumerable to the specified type. (Defined by Enumerable.)
Public Extension Method Supported by Portable Class Library Supported in .NET for Windows Store apps CastTResultOverloaded. Converts the elements of an IQueryable to the specified type. (Defined by Queryable.)
Public Extension Method Supported by Portable Class Library Supported in .NET for Windows Store apps OfTypeTResultOverloaded. Filters the elements of an IEnumerable based on a specified type. (Defined by Enumerable.)
Public Extension Method Supported by Portable Class Library Supported in .NET for Windows Store apps OfTypeTResultOverloaded. Filters the elements of an IQueryable based on a specified type. (Defined by Queryable.)
Top
Remarks

The IQueryable interface is intended for implementation by query providers. It is only supposed to be implemented by providers that also implement IQueryableT. If the provider does not also implement IQueryableT, the standard query operators cannot be used on the provider's data source.

The IQueryable interface inherits the IEnumerable interface so that if it represents a query, the results of that query can be enumerated. Enumeration causes the expression tree associated with an IQueryable object to be executed. The definition of "executing an expression tree" is specific to a query provider. For example, it may involve translating the expression tree to an appropriate query language for the underlying data source. Queries that do not return enumerable results are executed when the Execute method is called.

For more information about how to create your own LINQ provider, see LINQ: Building an IQueryable Provider on MSDN Blogs.

Version Information

.NET Framework

Supported in: 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8
Platforms

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.