Class QueryingClientBase
Base class for querying clients.
Inheritance
Implements
Namespace: StylelabsStylelabs.MSdkStylelabs.M.Sdk.ModelsClients
Assembly: Stylelabs.M.Sdk.dll
Syntax
Constructors
QueryingClientBase(IMClient)
Initializes a new instance of the QueryingClientBase class.
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| IMClient | client |
The client. |
Methods
CreateEntityIdIterator(Query)
Creates an IEntityIterator that iterates over all ids matched by the Query.
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query |
The query to iterate. |
Returns
| Type | Description |
|---|---|
| IIdIterator |
An iterator. |
CreateEntityIdScroller(Query, TimeSpan?)
Creates an IIdScroller that scrolls over all ids of entities that match the Query.
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query |
The query to scroll. |
| TimeSpan | scrollTime |
The time for the scroll to live. If it is not specified, ScrollTime will be used. The scroll time should not be too long, just enough to process each batch of results. |
Returns
| Type | Description |
|---|---|
| IIdScroller |
An IIdScroller instance. |
Remarks
Use scrolling wisely and try to limit the scrollTime for the scroll to live.
Using scrolling inappropriately can cause performance issues.
See https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html for more information.
CreateEntityIterator(Query, IEntityLoadConfiguration)
Creates an IEntityIterator that iterates over all results matched by the Query.
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query |
The query to iterate. |
| IEntityLoadConfiguration | loadConfiguration |
The load configuration. If it is null, then Default will be used. |
Returns
| Type | Description |
|---|---|
| IEntityIterator |
An iterator. |
Remarks
For compatibility with the 3.0 SDK, the loading configuration is resolved as follows:
- The
loadConfigurationwill be used, if not null. - The IQueryLoadConfiguration from the
querywill be used, if not null and if applicable. - Otherwise, defaults to Default.
CreateEntityScroller(Query, TimeSpan?, IEntityLoadConfiguration)
Creates an IEntityScroller that scrolls over all entities that match the Query.
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query |
The query to scroll. |
| TimeSpan | scrollTime |
The time for the scroll to live. If it is not specified, ScrollTime will be used. The scroll time should not be too long, just enough to process each batch of results. |
| IEntityLoadConfiguration | loadConfiguration |
The load configuration. If it is null, then Default will be used. |
Returns
| Type | Description |
|---|---|
| IEntityScroller |
An IEntityScroller instance. |
Remarks
Use scrolling wisely and try to limit the scrollTime for the scroll to live.
Using scrolling inappropriately can cause performance issues.
See https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html for more information.
GetEntityScrollEngine()
Gets the implementation specific scrolling engine for entity retrieval.
Declaration
Returns
| Type | Description |
|---|---|
| IScrollEngineIEntityScrollResult |
GetIdScrollEngine()
Gets the implementation specific scrolling engine for id retrieval.
Declaration
Returns
| Type | Description |
|---|---|
| IScrollEngineIIdScrollResult |
QueryAsync(Query, IEntityLoadConfiguration)
Retrieves entities matching the query.
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query |
The query to execute. |
| IEntityLoadConfiguration | loadConfiguration |
The load configuration. If it is null, then Default will be used. |
Returns
| Type | Description |
|---|---|
| Task<>IEntityQueryResult |
An IEntityQueryResult containing the results of the query. |
Remarks
For compatibility with the 3.0 SDK, the loading configuration is resolved as follows:
- The
loadConfigurationwill be used, if not null. - The IQueryLoadConfiguration from the
querywill be used, if not null and if applicable. - Otherwise, defaults to Default.
QueryIdsAsync(Query)
Retrieves the ids of entities matching the query.
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query |
The query to execute. |
Returns
| Type | Description |
|---|---|
| Task<>IIdQueryResult |
An IEntityQueryResult containing the results of the query. |
ResolveLoadConfiguration(Query, IEntityLoadConfiguration)
This is used to get a valid entity load config from a query for compatibility with the 3.0 SDK.
Situation: in 3.0 we only had the query as parameter in the query client, and the load config was on the query. In 3.1 we have the query and optional load config from as parameter.
For compatibility, the query load config needs priority if the load config was not specified as parameter.
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query |
The Query. |
| IEntityLoadConfiguration | loadConfiguration |
Returns
| Type | Description |
|---|---|
| IQueryLoadConfiguration |
SingleAsync(Query, IEntityLoadConfiguration)
Gets a single entity that matches the query.
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query |
The query to execute. |
| IEntityLoadConfiguration | loadConfiguration |
The load configuration. If it is null, then Default will be used. |
Returns
| Type | Description |
|---|---|
| Task<>IEntity |
The entity that matches the query or null if there are no results. |
Remarks
For compatibility with the 3.0 SDK, the loading configuration is resolved as follows:
- The
loadConfigurationwill be used, if not null. - The IQueryLoadConfiguration from the
querywill be used, if not null and if applicable. - Otherwise, defaults to Default.
SingleIdAsync(Query)
Gets a the id of the entity that matches the query.
Declaration
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query |
The query to execute. |
Returns
| Type | Description |
|---|---|
| Task<>long |
The id of the entity that matches the query or null if there are no results. |