# Queryable Methods

**.NET Framework 4.5**

The Queryable type exposes the following members.

Name | Description | |
---|---|---|

Aggregate<TSource>(IQueryable<TSource>, Expression<Func<TSource, TSource, TSource>>) | Applies an accumulator function over a sequence. | |

Aggregate<TSource, TAccumulate>(IQueryable<TSource>, TAccumulate, Expression<Func<TAccumulate, TSource, TAccumulate>>) | Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value. | |

Aggregate<TSource, TAccumulate, TResult>(IQueryable<TSource>, TAccumulate, Expression<Func<TAccumulate, TSource, TAccumulate>>, Expression<Func<TAccumulate, TResult>>) | Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value, and the specified function is used to select the result value. | |

All<TSource> | Determines whether all the elements of a sequence satisfy a condition. | |

Any<TSource>(IQueryable<TSource>) | Determines whether a sequence contains any elements. | |

Any<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) | Determines whether any element of a sequence satisfies a condition. | |

AsQueryable(IEnumerable) | Converts an IEnumerable to an IQueryable. | |

AsQueryable<TElement>(IEnumerable<TElement>) | Converts a generic IEnumerable<T> to a generic IQueryable<T>. | |

Average(IQueryable<Decimal>) | Computes the average of a sequence of Decimal values. | |

Average(IQueryable<Nullable<Decimal>>) | Computes the average of a sequence of nullable Decimal values. | |

Average(IQueryable<Double>) | Computes the average of a sequence of Double values. | |

Average(IQueryable<Nullable<Double>>) | Computes the average of a sequence of nullable Double values. | |

Average(IQueryable<Int32>) | Computes the average of a sequence of Int32 values. | |

Average(IQueryable<Nullable<Int32>>) | Computes the average of a sequence of nullable Int32 values. | |

Average(IQueryable<Int64>) | Computes the average of a sequence of Int64 values. | |

Average(IQueryable<Nullable<Int64>>) | Computes the average of a sequence of nullable Int64 values. | |

Average(IQueryable<Nullable<Single>>) | Computes the average of a sequence of nullable Single values. | |

Average(IQueryable<Single>) | Computes the average of a sequence of Single values. | |

Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Decimal>>) | Computes the average of a sequence of Decimal values that is obtained by invoking a projection function on each element of the input sequence. | |

Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Double>>) | Computes the average of a sequence of Double values that is obtained by invoking a projection function on each element of the input sequence. | |

Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int32>>) | Computes the average of a sequence of Int32 values that is obtained by invoking a projection function on each element of the input sequence. | |

Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int64>>) | Computes the average of a sequence of Int64 values that is obtained by invoking a projection function on each element of the input sequence. | |

Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Decimal>>>) | Computes the average of a sequence of nullable Decimal values that is obtained by invoking a projection function on each element of the input sequence. | |

Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Double>>>) | Computes the average of a sequence of nullable Double values that is obtained by invoking a projection function on each element of the input sequence. | |

Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Int32>>>) | Computes the average of a sequence of nullable Int32 values that is obtained by invoking a projection function on each element of the input sequence. | |

Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Int64>>>) | Computes the average of a sequence of nullable Int64 values that is obtained by invoking a projection function on each element of the input sequence. | |

Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Single>>>) | Computes the average of a sequence of nullable Single values that is obtained by invoking a projection function on each element of the input sequence. | |

Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Single>>) | Computes the average of a sequence of Single values that is obtained by invoking a projection function on each element of the input sequence. | |

Cast<TResult> | Converts the elements of an IQueryable to the specified type. | |

Concat<TSource> | Concatenates two sequences. | |

Contains<TSource>(IQueryable<TSource>, TSource) | Determines whether a sequence contains a specified element by using the default equality comparer. | |

Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) | Determines whether a sequence contains a specified element by using a specified IEqualityComparer<T>. | |

Count<TSource>(IQueryable<TSource>) | Returns the number of elements in a sequence. | |

Count<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) | Returns the number of elements in the specified sequence that satisfies a condition. | |

DefaultIfEmpty<TSource>(IQueryable<TSource>) | Returns the elements of the specified sequence or the type parameter's default value in a singleton collection if the sequence is empty. | |

DefaultIfEmpty<TSource>(IQueryable<TSource>, TSource) | Returns the elements of the specified sequence or the specified value in a singleton collection if the sequence is empty. | |

Distinct<TSource>(IQueryable<TSource>) | Returns distinct elements from a sequence by using the default equality comparer to compare values. | |

Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) | Returns distinct elements from a sequence by using a specified IEqualityComparer<T> to compare values. | |

ElementAt<TSource> | Returns the element at a specified index in a sequence. | |

ElementAtOrDefault<TSource> | Returns the element at a specified index in a sequence or a default value if the index is out of range. | |

Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) | Produces the set difference of two sequences by using the default equality comparer to compare values. | |

Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) | Produces the set difference of two sequences by using the specified IEqualityComparer<T> to compare values. | |

First<TSource>(IQueryable<TSource>) | Returns the first element of a sequence. | |

First<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) | Returns the first element of a sequence that satisfies a specified condition. | |

FirstOrDefault<TSource>(IQueryable<TSource>) | Returns the first element of a sequence, or a default value if the sequence contains no elements. | |

FirstOrDefault<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) | Returns the first element of a sequence that satisfies a specified condition or a default value if no such element is found. | |

GroupBy<TSource, TKey>(IQueryable<TSource>, Expression<Func<TSource, TKey>>) | Groups the elements of a sequence according to a specified key selector function. | |

GroupBy<TSource, TKey>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>) | Groups the elements of a sequence according to a specified key selector function and compares the keys by using a specified comparer. | |

GroupBy<TSource, TKey, TElement>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TSource, TElement>>) | Groups the elements of a sequence according to a specified key selector function and projects the elements for each group by using a specified function. | |

GroupBy<TSource, TKey, TResult>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey, IEnumerable<TSource>, TResult>>) | Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. | |

GroupBy<TSource, TKey, TElement>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TSource, TElement>>, IEqualityComparer<TKey>) | Groups the elements of a sequence and projects the elements for each group by using a specified function. Key values are compared by using a specified comparer. | |

GroupBy<TSource, TKey, TResult>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey, IEnumerable<TSource>, TResult>>, IEqualityComparer<TKey>) | Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. Keys are compared by using a specified comparer. | |

GroupBy<TSource, TKey, TElement, TResult>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TSource, TElement>>, Expression<Func<TKey, IEnumerable<TElement>, TResult>>) | Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. The elements of each group are projected by using a specified function. | |

GroupBy<TSource, TKey, TElement, TResult>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TSource, TElement>>, Expression<Func<TKey, IEnumerable<TElement>, TResult>>, IEqualityComparer<TKey>) | Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. Keys are compared by using a specified comparer and the elements of each group are projected by using a specified function. | |

GroupJoin<TOuter, TInner, TKey, TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, IEnumerable<TInner>, TResult>>) | Correlates the elements of two sequences based on key equality and groups the results. The default equality comparer is used to compare keys. | |

GroupJoin<TOuter, TInner, TKey, TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, IEnumerable<TInner>, TResult>>, IEqualityComparer<TKey>) | Correlates the elements of two sequences based on key equality and groups the results. A specified IEqualityComparer<T> is used to compare keys. | |

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) | Produces the set intersection of two sequences by using the default equality comparer to compare values. | |

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) | Produces the set intersection of two sequences by using the specified IEqualityComparer<T> to compare values. | |

Join<TOuter, TInner, TKey, TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, TInner, TResult>>) | Correlates the elements of two sequences based on matching keys. The default equality comparer is used to compare keys. | |

Join<TOuter, TInner, TKey, TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, TInner, TResult>>, IEqualityComparer<TKey>) | Correlates the elements of two sequences based on matching keys. A specified IEqualityComparer<T> is used to compare keys. | |

Last<TSource>(IQueryable<TSource>) | Returns the last element in a sequence. | |

Last<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) | Returns the last element of a sequence that satisfies a specified condition. | |

LastOrDefault<TSource>(IQueryable<TSource>) | Returns the last element in a sequence, or a default value if the sequence contains no elements. | |

LastOrDefault<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) | Returns the last element of a sequence that satisfies a condition or a default value if no such element is found. | |

LongCount<TSource>(IQueryable<TSource>) | Returns an Int64 that represents the total number of elements in a sequence. | |

LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) | Returns an Int64 that represents the number of elements in a sequence that satisfy a condition. | |

Max<TSource>(IQueryable<TSource>) | Returns the maximum value in a generic IQueryable<T>. | |

Max<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) | Invokes a projection function on each element of a generic IQueryable<T> and returns the maximum resulting value. | |

Min<TSource>(IQueryable<TSource>) | Returns the minimum value of a generic IQueryable<T>. | |

Min<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) | Invokes a projection function on each element of a generic IQueryable<T> and returns the minimum resulting value. | |

OfType<TResult> | Filters the elements of an IQueryable based on a specified type. | |

OrderBy<TSource, TKey>(IQueryable<TSource>, Expression<Func<TSource, TKey>>) | Sorts the elements of a sequence in ascending order according to a key. | |

OrderBy<TSource, TKey>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, IComparer<TKey>) | Sorts the elements of a sequence in ascending order by using a specified comparer. | |

OrderByDescending<TSource, TKey>(IQueryable<TSource>, Expression<Func<TSource, TKey>>) | Sorts the elements of a sequence in descending order according to a key. | |

OrderByDescending<TSource, TKey>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, IComparer<TKey>) | Sorts the elements of a sequence in descending order by using a specified comparer. | |

Reverse<TSource> | Inverts the order of the elements in a sequence. | |

Select<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) | Projects each element of a sequence into a new form. | |

Select<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, Int32, TResult>>) | Projects each element of a sequence into a new form by incorporating the element's index. | |

SelectMany<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, IEnumerable<TResult>>>) | Projects each element of a sequence to an IEnumerable<T> and combines the resulting sequences into one sequence. | |

SelectMany<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, Int32, IEnumerable<TResult>>>) | Projects each element of a sequence to an IEnumerable<T> and combines the resulting sequences into one sequence. The index of each source element is used in the projected form of that element. | |

SelectMany<TSource, TCollection, TResult>(IQueryable<TSource>, Expression<Func<TSource, IEnumerable<TCollection>>>, Expression<Func<TSource, TCollection, TResult>>) | Projects each element of a sequence to an IEnumerable<T> and invokes a result selector function on each element therein. The resulting values from each intermediate sequence are combined into a single, one-dimensional sequence and returned. | |

SelectMany<TSource, TCollection, TResult>(IQueryable<TSource>, Expression<Func<TSource, Int32, IEnumerable<TCollection>>>, Expression<Func<TSource, TCollection, TResult>>) | Projects each element of a sequence to an IEnumerable<T> that incorporates the index of the source element that produced it. A result selector function is invoked on each element of each intermediate sequence, and the resulting values are combined into a single, one-dimensional sequence and returned. | |

SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>) | Determines whether two sequences are equal by using the default equality comparer to compare elements. | |

SequenceEqual<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) | Determines whether two sequences are equal by using a specified IEqualityComparer<T> to compare elements. | |

Single<TSource>(IQueryable<TSource>) | Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. | |

Single<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) | Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. | |

SingleOrDefault<TSource>(IQueryable<TSource>) | Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. | |

SingleOrDefault<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) | Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. | |

Skip<TSource> | Bypasses a specified number of elements in a sequence and then returns the remaining elements. | |

SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) | Bypasses elements in a sequence as long as a specified condition is true and then returns the remaining elements. | |

SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int32, Boolean>>) | Bypasses elements in a sequence as long as a specified condition is true and then returns the remaining elements. The element's index is used in the logic of the predicate function. | |

Sum(IQueryable<Decimal>) | Computes the sum of a sequence of Decimal values. | |

Sum(IQueryable<Nullable<Decimal>>) | Computes the sum of a sequence of nullable Decimal values. | |

Sum(IQueryable<Double>) | Computes the sum of a sequence of Double values. | |

Sum(IQueryable<Nullable<Double>>) | Computes the sum of a sequence of nullable Double values. | |

Sum(IQueryable<Int32>) | Computes the sum of a sequence of Int32 values. | |

Sum(IQueryable<Nullable<Int32>>) | Computes the sum of a sequence of nullable Int32 values. | |

Sum(IQueryable<Int64>) | Computes the sum of a sequence of Int64 values. | |

Sum(IQueryable<Nullable<Int64>>) | Computes the sum of a sequence of nullable Int64 values. | |

Sum(IQueryable<Nullable<Single>>) | Computes the sum of a sequence of nullable Single values. | |

Sum(IQueryable<Single>) | Computes the sum of a sequence of Single values. | |

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource, Decimal>>) | Computes the sum of the sequence of Decimal values that is obtained by invoking a projection function on each element of the input sequence. | |

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource, Double>>) | Computes the sum of the sequence of Double values that is obtained by invoking a projection function on each element of the input sequence. | |

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int32>>) | Computes the sum of the sequence of Int32 values that is obtained by invoking a projection function on each element of the input sequence. | |

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int64>>) | Computes the sum of the sequence of Int64 values that is obtained by invoking a projection function on each element of the input sequence. | |

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Decimal>>>) | Computes the sum of the sequence of nullable Decimal values that is obtained by invoking a projection function on each element of the input sequence. | |

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Double>>>) | Computes the sum of the sequence of nullable Double values that is obtained by invoking a projection function on each element of the input sequence. | |

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Int32>>>) | Computes the sum of the sequence of nullable Int32 values that is obtained by invoking a projection function on each element of the input sequence. | |

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Int64>>>) | Computes the sum of the sequence of nullable Int64 values that is obtained by invoking a projection function on each element of the input sequence. | |

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Single>>>) | Computes the sum of the sequence of nullable Single values that is obtained by invoking a projection function on each element of the input sequence. | |

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource, Single>>) | Computes the sum of the sequence of Single values that is obtained by invoking a projection function on each element of the input sequence. | |

Take<TSource> | Returns a specified number of contiguous elements from the start of a sequence. | |

TakeWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) | Returns elements from a sequence as long as a specified condition is true. | |

TakeWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int32, Boolean>>) | Returns elements from a sequence as long as a specified condition is true. The element's index is used in the logic of the predicate function. | |

ThenBy<TSource, TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource, TKey>>) | Performs a subsequent ordering of the elements in a sequence in ascending order according to a key. | |

ThenBy<TSource, TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource, TKey>>, IComparer<TKey>) | Performs a subsequent ordering of the elements in a sequence in ascending order by using a specified comparer. | |

ThenByDescending<TSource, TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource, TKey>>) | Performs a subsequent ordering of the elements in a sequence in descending order, according to a key. | |

ThenByDescending<TSource, TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource, TKey>>, IComparer<TKey>) | Performs a subsequent ordering of the elements in a sequence in descending order by using a specified comparer. | |

Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) | Produces the set union of two sequences by using the default equality comparer. | |

Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) | Produces the set union of two sequences by using a specified IEqualityComparer<T>. | |

Where<TSource>(IQueryable<TSource>, Expression<Func<TSource, Boolean>>) | Filters a sequence of values based on a predicate. | |

Where<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int32, Boolean>>) | Filters a sequence of values based on a predicate. Each element's index is used in the logic of the predicate function. | |

Zip<TFirst, TSecond, TResult> | Merges two sequences by using the specified predicate function. |

Show: