---
title: "Class Query"
slug: "sdk--stylelabs.m.base.querying.query"
abstract: ""
---
# Class Query

Describes a query for entities.

## Inheritance

object

[QueryLoadingResource](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.queryloadingresource.html)

Query

## Inherited Members

[QueryLoadingResource.LoadConfiguration](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.queryloadingresource.html)

## Namespace: StylelabsStylelabs.MStylelabs.M.BaseQuerying

## Assembly: Stylelabs.M.Sdk.dll

## Syntax

```csharp
public class Query : QueryLoadingResource
```

## Properties

### [EntityLoadOptions](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.entityloadoptions.html)

Gets or sets if and how entities resulting entities should be loaded. By default, no entities will be loaded.

#### Declaration

```csharp
public EntityLoadOptions EntityLoadOptions { get; set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| [EntityLoadOptions](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.entityloadoptions.html) |  |

### Filter

Gets or sets the filter for the query.

#### Declaration

```csharp
public QueryFilter Filter { get; set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| [QueryFilter](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.filters.queryfilter.html) |  |

### ScrollTime

Gets or sets if specified, the query will return as QueryResult.ScrollId , which can be used to walk through the set of results without having to use paging.

#### Declaration

```csharp
public TimeSpan? ScrollTime { get; set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| TimeSpan |  |

### Skip

Gets or sets the number of items to skip. If not specified, no items will be skipped.

#### Declaration

```csharp
public int? Skip { get; set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| int |  |

### [Sorting](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.sorting.html)

Gets or sets how the results should be sorted.

#### Declaration

```csharp
public IEnumerable<Sorting> Sorting { get; set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| IEnumerable<>[Sorting](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.sorting.html) |  |

### Take

Gets or sets the number of items to take. If not specified, the underlying implementation will use a default value.

#### Declaration

```csharp
public int? Take { get; set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| int |  |

## Methods

### CreateEntitiesQuery(Func<QueryableEntities<IQueryableEntity>, IQueryable<IQueryableEntity>>)

Creates a [Query](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.query.html) from a linq expression. The query has Query.EntityLoadOptions.LoadEntities set to `True`, loading the resulting entities.

#### Declaration

```csharp
public static Query CreateEntitiesQuery(Func<QueryableEntities<IQueryableEntity>, IQueryable<IQueryableEntity>> query)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| Func<, >[QueryableEntities](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.linq.queryableentities-1.html)[IQueryableEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.linq.iqueryableentity.html)IQueryable\`1[IQueryableEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.linq.iqueryableentity.html) | query | Creates the linq expression. |

#### Returns

| Type | Description |
| --- | --- |
| [Query](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.query.html) | A [Query](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.query.html) created from the specified `query`. |

### CreateIdsQuery(Func<QueryableEntities<IQueryableEntity>, IQueryable<IQueryableEntity>>)

Creates a [Query](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.query.html) from a linq expression. Only returns the ids of the resulting entities.

#### Declaration

```csharp
public static Query CreateIdsQuery(Func<QueryableEntities<IQueryableEntity>, IQueryable<IQueryableEntity>> query)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| Func<, >[QueryableEntities](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.linq.queryableentities-1.html)[IQueryableEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.linq.iqueryableentity.html)IQueryable\`1[IQueryableEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.linq.iqueryableentity.html) | query | Creates the linq expression. |

#### Returns

| Type | Description |
| --- | --- |
| [Query](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.query.html) | A [Query](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.query.html) created from the specified `query`. |

### CreateQuery(Func<QueryableEntities<IQueryableEntity>, IQueryable<IQueryableEntity>>)

Creates a [Query](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.query.html) from a linq expression. If no loading configuration was specified, it will fall back to [Ids](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.framework.essentials.loadconfigurations.queryloadconfiguration.html).

#### Declaration

```csharp
public static Query CreateQuery(Func<QueryableEntities<IQueryableEntity>, IQueryable<IQueryableEntity>> query)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| Func<, >[QueryableEntities](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.linq.queryableentities-1.html)[IQueryableEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.linq.iqueryableentity.html)IQueryable\`1[IQueryableEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.linq.iqueryableentity.html) | query | Creates the linq expression. |

#### Returns

| Type | Description |
| --- | --- |
| [Query](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.query.html) | A [Query](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.query.html) created from the specified `query`. |

#### Remarks

When using the SDK, this is the preferred way to create queries. The SDK will automatically set the correct loading configuration.

### Extension Methods

[QueryExtensions.Copy(Query)](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.extensions.queryextensions.html)

[QueryExtensions.MakeSureEntitiesAreLoaded(Query)](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.extensions.queryextensions.html)

[QueryExtensions.MakeSureOnlyIdsAreLoaded(Query)](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.extensions.queryextensions.html)

[QueryExtensions.Validate(Query)](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.extensions.queryextensions.html)
