# QueryableExtension Class

Class QueryableExtension.

Namespace: [Radzen](https://blazor.radzen.com/docs/api/Radzen.md)

Assembly: Radzen.Blazor.dll

## Inheritance

- Object
- QueryableExtension

## Syntax

```csharp
public static class QueryableExtension
```

## Methods

| Method | Returns | Description |
|------|---------|-------------|
| `AsODataEnumerable(IEnumerable<T> source)` | [`ODataEnumerable<T>`](https://blazor.radzen.com/docs/api/Radzen.ODataEnumerable-1.md) | Ases the o data enumerable. Parameters: `source`: The source. Returns: ODataEnumerable<T>. |
| `Average(IQueryable source, Type type)` | `object` | Calculates the average of the elements of an IQueryable using the specified type. Parameters: `source`: The IQueryable that contains the elements to be used for average calculation. `type`: The type to cast the elements of source to. Returns: The result. |
| `Cast(IQueryable source, Type type)` | `IQueryable` | Converts the elements of an IQueryable to the specified type. Parameters: `source`: The IQueryable that contains the elements to be converted. `type`: The type to convert the elements of source to. Returns: An IQueryable that contains each element of the source sequence converted to the specified type. |
| `Distinct(IQueryable source)` | `IQueryable` | Returns distinct elements from a sequence by using the default equality comparer to compare values. Parameters: `source`: The sequence to remove duplicate elements from. Returns: An IQueryable that contains distinct elements from the source sequence. |
| `FirstOrDefault(IQueryable source)` | `object` | Returns the first element of a sequence, or a default value if the sequence contains no elements. Parameters: `source`: The IQueryable to return the first element of. Returns: default if source is empty; otherwise, the first element in source. |
| `GroupByMany(IQueryable<T> source, String[] properties)` | `IQueryable<GroupResult>` | Projects each element of a sequence to an IEnumerable and flattens the resulting sequences into one sequence. |
| `IsEnumerable(Type type)` | `bool` | Gets if type is IEnumerable. |
| `LastOrDefault(IQueryable source)` | `object` | Returns the last element of a sequence, or a default value if the sequence contains no elements. Parameters: `source`: The IQueryable to return the last element of. Returns: default if source is empty; otherwise, the last element in source. |
| `Max(IQueryable source, Type type)` | `object` | Gets the maximum value of elements of an IQueryable using the specified type. Parameters: `source`: The IQueryable that contains the elements to be used to get the maximum value. `type`: The type to cast the elements of source to. Returns: The result. |
| `Min(IQueryable source, Type type)` | `object` | Gets the minimum value of elements of an IQueryable using the specified type. Parameters: `source`: The IQueryable that contains the elements to be used to get the minimum value. `type`: The type to cast the elements of source to. Returns: The result. |
| `OrderBy(IQueryable<T> source, string selector)` | `IOrderedQueryable<T>` | Sorts the elements of a sequence in ascending or descending order according to a key. Returns: A IQueryable<T> whose elements are sorted according to the specified selector. |
| `OrderBy(IQueryable source, string selector)` | `IQueryable` | Sorts the elements of a sequence in ascending or descending order according to a key. Returns: A IQueryable<T> whose elements are sorted according to the specified selector. |
| `Select(IQueryable source, string propertyName)` | `IQueryable` | Projects each element of a sequence into a collection of property values. |
| `Select(IQueryable source, IEnumerable<string> propertyNames)` | `IQueryable` | Projects each element of a sequence into a collection of property values. |
| `Select(IQueryable<T> source, IEnumerable<string> propertyNames)` | `IQueryable<T>` | Projects each element of a sequence into a collection of property values. |
| `SelectMany(IQueryable source, string propertyName)` | `IQueryable` | Projects each element of a sequence to an IEnumerable and flattens the resulting sequences into one sequence. |
| `SelectManyRecursive(IEnumerable<T> source, Func<T, IEnumerable<T>> selector)` | `IEnumerable<T>` | Selects the many recursive. Parameters: `source`: The source. `selector`: The selector. Returns: IEnumerable<T>. |
| `Sum(IQueryable source, Type type)` | `object` | Sums the elements of an IQueryable using the specified type. Parameters: `source`: The IQueryable that contains the elements to be summed. `type`: The type to cast the elements of source to. Returns: The result. |
| `ToFilterString(IEnumerable<RadzenDataGridColumn<T>> columns)` | `string` | Converts to filterstring. Parameters: `columns`: The columns. Returns: System.String. |
| `ToFilterString(RadzenDataFilter<T> dataFilter)` | `string` | Converts to filterstring. Returns: System.String. |
| `ToFilterString(IEnumerable<CompositeFilterDescriptor> filters, LogicalFilterOperator logicalFilterOperator, FilterCaseSensitivity filterCaseSensitivity)` | `string` | Converts to filterstring. Returns: System.String. |
| `ToList(IQueryable query)` | `Collections.IList` | Converts to list. Parameters: `query`: The query. Returns: IList. |
| `ToODataFilterString(IEnumerable<RadzenDataGridColumn<T>> columns)` | `string` | Converts to odatafilterstring. Parameters: `columns`: The columns. Returns: System.String. |
| `ToODataFilterString(RadzenDataFilter<T> dataFilter)` | `string` | Converts to odatafilterstring. Returns: System.String. |
| `ToODataFilterString(IEnumerable<CompositeFilterDescriptor> filters, LogicalFilterOperator logicalFilterOperator, FilterCaseSensitivity filterCaseSensitivity)` | `string` | Converts to odatafilterstring. Returns: System.String. |
| `Where(IQueryable<T> source, IEnumerable<RadzenDataGridColumn<T>> columns)` | `IQueryable<T>` | Filters using the specified filter descriptors. |
| `Where(IQueryable<T> source, RadzenDataFilter<T> dataFilter)` | `IQueryable<T>` | Filters using the specified filter descriptors. |
| `Where(IQueryable source, IEnumerable<FilterDescriptor> filters, LogicalFilterOperator logicalFilterOperator, FilterCaseSensitivity filterCaseSensitivity)` | `IQueryable` | Filters using the specified filter descriptors. |
| `Where(IQueryable<T> source, IEnumerable<FilterDescriptor> filters, LogicalFilterOperator logicalFilterOperator, FilterCaseSensitivity filterCaseSensitivity)` | `IQueryable<T>` | Filters using the specified filter descriptors. |
| `Where(IQueryable<T> source, IEnumerable<CompositeFilterDescriptor> filters, LogicalFilterOperator logicalFilterOperator, FilterCaseSensitivity filterCaseSensitivity)` | `IQueryable<T>` | Filters using the specified filter descriptors. |
| `Where(IQueryable source, string property, string value, StringFilterOperator op, FilterCaseSensitivity cs)` | `IQueryable` | Filters using the specified filter descriptors. |

