ClassQueryableExtensions
Provides extension methods to process DataSourceRequest.
Definition
Namespace:Telerik.DataSource.Extensions
Assembly:Telerik.DataSource.dll
Syntax:
public static class QueryableExtensions
Inheritance: objectQueryableExtensions
Methods
Aggregate(IQueryable, IEnumerable<AggregateFunction>)
Calculates the results of given aggregates functions on a sequence of elements.
Declaration
public static AggregateResultCollection Aggregate(this IQueryable source, IEnumerable<AggregateFunction> aggregateFunctions)
Parameters
source
An IQueryable whose elements will be used for aggregate calculation.
aggregateFunctions
IEnumerable<AggregateFunction>
The aggregate functions.
Returns
Collection of AggregateResults calculated for each function.
Count(IQueryable)
Returns the number of elements in a sequence.
Declaration
public static int Count(this IQueryable source)
Parameters
source
The IQueryable that contains the elements to be counted.
Returns
The number of elements in the input sequence.
Exceptions
source
is null.
ElementAt(IQueryable, int)
Returns the element at a specified index in a sequence.
Declaration
public static object ElementAt(this IQueryable source, int index)
Parameters
source
An IQueryable to return an element from.
index
The zero-based index of the element to retrieve.
Returns
The element at the specified position in source
.
Exceptions
source
is null.
index
is less than zero.
GroupBy(IQueryable, IEnumerable<GroupDescriptor>, bool)
Groups the elements of a sequence according to a specified groupDescriptors
.
Declaration
public static IQueryable GroupBy(this IQueryable source, IEnumerable<GroupDescriptor> groupDescriptors, bool includeItems = true)
Parameters
source
An IQueryable whose elements to group.
groupDescriptors
The group descriptors used for grouping.
includeItems
Returns
An IQueryable with IGroup items, whose elements contains a sequence of objects and a key.
GroupBy(IQueryable, IQueryable, IEnumerable<GroupDescriptor>, bool)
Declaration
public static IQueryable GroupBy(this IQueryable source, IQueryable notPagedData, IEnumerable<GroupDescriptor> groupDescriptors, bool includeItems = true)
Parameters
source
notPagedData
groupDescriptors
includeItems
Returns
GroupBy(IQueryable, LambdaExpression)
Groups the elements of a sequence according to a specified key selector function.
Declaration
public static IQueryable GroupBy(this IQueryable source, LambdaExpression keySelector)
Parameters
source
An IQueryable whose elements to group.
keySelector
A function to extract the key for each element.
Returns
An IQueryable with IGrouping<TKey, TElement> items, whose elements contains a sequence of objects and a key.
OrderBy(IQueryable, LambdaExpression)
Sorts the elements of a sequence in ascending order according to a key.
Declaration
public static IQueryable OrderBy(this IQueryable source, LambdaExpression keySelector)
Parameters
source
A sequence of values to order.
keySelector
A function to extract a key from an element.
Returns
An IQueryable whose elements are sorted according to a key.
OrderBy(IQueryable, LambdaExpression, ListSortDirection?)
Calls OrderBy(IQueryable, LambdaExpression)
or OrderByDescending(IQueryable, LambdaExpression) depending on the sortDirection
.
Declaration
public static IQueryable OrderBy(this IQueryable source, LambdaExpression keySelector, ListSortDirection? sortDirection)
Parameters
source
The source.
keySelector
The key selector.
sortDirection
The sort direction.
Returns
An IQueryable whose elements are sorted according to a key.
OrderByDescending(IQueryable, LambdaExpression)
Sorts the elements of a sequence in descending order according to a key.
Declaration
public static IQueryable OrderByDescending(this IQueryable source, LambdaExpression keySelector)
Parameters
source
A sequence of values to order.
keySelector
A function to extract a key from an element.
Returns
An IQueryable whose elements are sorted in descending order according to a key.
Page(IQueryable, int, int)
Pages through the elements of a sequence until the specified
pageIndex
using pageSize
.
Declaration
public static IQueryable Page(this IQueryable source, int pageIndex, int pageSize)
Parameters
source
A sequence of values to page.
pageIndex
Index of the page.
pageSize
Size of the page.
Returns
An IQueryable whose elements are at the specified pageIndex
.
Select(IQueryable, LambdaExpression)
Projects each element of a sequence into a new form.
Declaration
public static IQueryable Select(this IQueryable source, LambdaExpression selector)
Parameters
source
A sequence of values to project.
selector
A projection function to apply to each element.
Returns
An IQueryable whose elements are the result of invoking a
projection selector on each element of source
.
Skip(IQueryable, int)
Bypasses a specified number of elements in a sequence and then returns the remaining elements.
Declaration
public static IQueryable Skip(this IQueryable source, int count)
Parameters
source
An IQueryable to return elements from.
count
The number of elements to skip before returning the remaining elements.
Returns
An IQueryable that contains elements that occur after the specified index in the input sequence.
Exceptions
source
is null.
Sort(IQueryable, IEnumerable<SortDescriptor>)
Sorts the elements of a sequence using the specified sort descriptors.
Declaration
public static IQueryable Sort(this IQueryable source, IEnumerable<SortDescriptor> sortDescriptors)
Parameters
source
A sequence of values to sort.
sortDescriptors
The sort descriptors used for sorting.
Returns
An IQueryable whose elements are sorted according to a sortDescriptors
.
Take(IQueryable, int)
Returns a specified number of contiguous elements from the start of a sequence.
Declaration
public static IQueryable Take(this IQueryable source, int count)
Parameters
source
The sequence to return elements from.
count
The number of elements to return.
Returns
An IQueryable that contains the specified number
of elements from the start of source
.
Exceptions
source
is null.
ToDataSourceResult(DataTable, DataSourceRequest)
Applies paging, sorting, filtering and grouping using the information from the DataSourceRequest object. If the collection is already paged, the method returns an empty resullt.
Declaration
public static DataSourceResult ToDataSourceResult(this DataTable dataTable, DataSourceRequest request)
Parameters
dataTable
An instance of DataTable.
request
An instance of DataSourceRequest.
Returns
A DataSourceResult object, which contains the processed data after paging, sorting, filtering and grouping are applied.
ToDataSourceResult(IEnumerable, DataSourceRequest)
Applies paging, sorting, filtering and grouping using the information from the DataSourceRequest object. If the collection is already paged, the method returns an empty result.
Declaration
public static DataSourceResult ToDataSourceResult(this IEnumerable enumerable, DataSourceRequest request)
Parameters
enumerable
An instance of IEnumerable.
request
An instance of DataSourceRequest.
Returns
A DataSourceResult object, which contains the processed data after paging, sorting, filtering and grouping are applied.
ToDataSourceResult(IQueryable, DataSourceRequest)
Applies paging, sorting, filtering and grouping using the information from the DataSourceRequest object. If the collection is already paged, the method returns an empty result.
Declaration
public static DataSourceResult ToDataSourceResult(this IQueryable queryable, DataSourceRequest request)
Parameters
queryable
An instance of IQueryable.
request
An instance of DataSourceRequest.
Returns
A DataSourceResult object, which contains the processed data after paging, sorting, filtering and grouping are applied.
ToDataSourceResult<TModel, TResult>(IEnumerable<TModel>, DataSourceRequest, Func<TModel, TResult>)
Declaration
public static DataSourceResult ToDataSourceResult<TModel, TResult>(this IEnumerable<TModel> enumerable, DataSourceRequest request, Func<TModel, TResult> selector)
Parameters
enumerable
IEnumerable<TModel>
request
selector
Func<TModel, TResult>
Returns
ToDataSourceResult<TModel, TResult>(IQueryable<TModel>, DataSourceRequest, Func<TModel, TResult>)
Declaration
public static DataSourceResult ToDataSourceResult<TModel, TResult>(this IQueryable<TModel> enumerable, DataSourceRequest request, Func<TModel, TResult> selector)
Parameters
enumerable
IQueryable<TModel>
request
selector
Func<TModel, TResult>
Returns
ToDataSourceResultAsync(DataTable, DataSourceRequest)
Applies paging, sorting, filtering and grouping using the information from the DataSourceRequest object. If the collection is already paged, the method returns an empty resullt.
Declaration
public static Task<DataSourceResult> ToDataSourceResultAsync(this DataTable dataTable, DataSourceRequest request)
Parameters
dataTable
An instance of DataTable.
request
An instance of DataSourceRequest.
Returns
A Task of DataSourceResult object, which contains the processed data after paging, sorting, filtering and grouping are applied. It can be called with the "await" keyword for asynchronous operation.
ToDataSourceResultAsync(IEnumerable, DataSourceRequest)
Applies paging, sorting, filtering and grouping using the information from the DataSourceRequest object. If the collection is already paged, the method returns an empty result.
Declaration
public static Task<DataSourceResult> ToDataSourceResultAsync(this IEnumerable enumerable, DataSourceRequest request)
Parameters
enumerable
An instance of IEnumerable.
request
An instance of DataSourceRequest.
Returns
A Task of DataSourceResult object, which contains the processed data after paging, sorting, filtering and grouping are applied. It can be called with the "await" keyword for asynchronous operation.
ToDataSourceResultAsync(IQueryable, DataSourceRequest)
Applies paging, sorting, filtering and grouping using the information from the DataSourceRequest object. If the collection is already paged, the method returns an empty result.
Declaration
public static Task<DataSourceResult> ToDataSourceResultAsync(this IQueryable queryable, DataSourceRequest request)
Parameters
queryable
An instance of IQueryable.
request
An instance of DataSourceRequest.
Returns
A Task of DataSourceResult object, which contains the processed data after paging, sorting, filtering and grouping are applied. It can be called with the "await" keyword for asynchronous operation.
ToDataSourceResultAsync<TModel, TResult>(IEnumerable<TModel>, DataSourceRequest, Func<TModel, TResult>)
Declaration
public static Task<DataSourceResult> ToDataSourceResultAsync<TModel, TResult>(this IEnumerable<TModel> enumerable, DataSourceRequest request, Func<TModel, TResult> selector)
Parameters
enumerable
IEnumerable<TModel>
request
selector
Func<TModel, TResult>
Returns
ToDataSourceResultAsync<TModel, TResult>(IQueryable<TModel>, DataSourceRequest, Func<TModel, TResult>)
Declaration
public static Task<DataSourceResult> ToDataSourceResultAsync<TModel, TResult>(this IQueryable<TModel> queryable, DataSourceRequest request, Func<TModel, TResult> selector)
Parameters
queryable
IQueryable<TModel>
request
selector
Func<TModel, TResult>
Returns
Union(IQueryable, IQueryable)
Produces the set union of two sequences by using the default equality comparer.
Declaration
public static IQueryable Union(this IQueryable source, IQueryable second)
Parameters
source
An IQueryable whose distinct elements form the first set for the union.
second
An IQueryable whose distinct elements form the first set for the union.
Returns
An IQueryable that contains the elements from both input sequences, excluding duplicates.
Exceptions
source
is null.
Where(IQueryable, Expression)
Filters a sequence of values based on a predicate.
Declaration
public static IQueryable Where(this IQueryable source, Expression predicate)
Parameters
source
An IQueryable to filter.
predicate
A function to test each element for a condition.
Returns
An IQueryable that contains elements from the input sequence
that satisfy the condition specified by predicate
.
Where(IQueryable, IEnumerable<IFilterDescriptor>)
Filters a sequence of values based on a collection of IFilterDescriptor.
Declaration
public static IQueryable Where(this IQueryable source, IEnumerable<IFilterDescriptor> filterDescriptors)
Parameters
source
The source.
filterDescriptors
IEnumerable<IFilterDescriptor>
The filter descriptors.
Returns
An IQueryable that contains elements from the input sequence
that satisfy the conditions specified by each filter descriptor in filterDescriptors
.