Share via


IQueryable Interface

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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

'Declaration
Public Interface IQueryable _
    Inherits IEnumerable
public interface IQueryable : IEnumerable

The IQueryable type exposes the following members.

Properties

  Name Description
Public propertySupported by Silverlight for Windows Phone ElementType Gets the type of the element(s) that are returned when the expression tree associated with this instance of IQueryable is executed.
Public propertySupported by Silverlight for Windows Phone Expression Gets the expression tree that is associated with the instance of IQueryable.
Public propertySupported by Silverlight for Windows Phone Provider Gets the query provider that is associated with this data source.

Top

Methods

  Name Description
Public methodSupported by Silverlight for Windows Phone GetEnumerator Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.)

Top

Extension Methods

  Name Description
Public Extension MethodSupported by Silverlight for Windows Phone AsQueryable Converts an IEnumerable to an IQueryable. (Defined by Queryable.)
Public Extension MethodSupported by Silverlight for Windows Phone Cast<TResult>() Overloaded. Converts the elements of an IEnumerable to the specified type. (Defined by Enumerable.)
Public Extension MethodSupported by Silverlight for Windows Phone Cast<TResult>() Overloaded. Converts the elements of an IQueryable to the specified type. (Defined by Queryable.)
Public Extension MethodSupported by Silverlight for Windows Phone OfType<TResult>() Overloaded. Filters the elements of an IEnumerable based on a specified type. (Defined by Enumerable.)
Public Extension MethodSupported by Silverlight for Windows Phone OfType<TResult>() Overloaded. 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 IQueryable<T>. If the provider does not also implement IQueryable<T>, 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

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.