---
title: "Class QueryModelVisitor"
slug: "sdk--stylelabs.m.base.querying.linq.querymodelvisitor"
abstract: ""
---
# Class QueryModelVisitor

Visits a and converts it into a Stylelabs.M.Base.Querying.Linq.QueryModelVisitor.Query.

## Inheritance

object

QueryModelVisitor

## Namespace: StylelabsStylelabs.MStylelabs.M.BaseQueryingLinq

## Assembly: Stylelabs.M.Sdk.dll

## Syntax

```csharp
public class QueryModelVisitor : QueryModelVisitorBase
```

## Methods

### GetQuery(QueryModel)

Converts the specified `queryModel` into a Stylelabs.M.Base.Querying.Linq.QueryModelVisitor.Query.

#### Declaration

```csharp
public static Query GetQuery(QueryModel queryModel)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| QueryModel | queryModel | The model to convert. |

#### Returns

| Type | Description |
| --- | --- |
| [Query](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.base.querying.query.html) | An executable Stylelabs.M.Base.Querying.Linq.QueryModelVisitor.Query created from the specified `queryModel`. |

### VisitAdditionalFromClause(AdditionalFromClause, QueryModel, int)

#### Declaration

```csharp
public override void VisitAdditionalFromClause(AdditionalFromClause fromClause, QueryModel queryModel, int index)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| AdditionalFromClause | fromClause |  |
| QueryModel | queryModel |  |
| int | index |  |

### VisitGroupJoinClause(GroupJoinClause, QueryModel, int)

#### Declaration

```csharp
public override void VisitGroupJoinClause(GroupJoinClause groupJoinClause, QueryModel queryModel, int index)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| GroupJoinClause | groupJoinClause |  |
| QueryModel | queryModel |  |
| int | index |  |

### VisitJoinClause(JoinClause, QueryModel, GroupJoinClause)

#### Declaration

```csharp
public override void VisitJoinClause(JoinClause joinClause, QueryModel queryModel, GroupJoinClause groupJoinClause)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| JoinClause | joinClause |  |
| QueryModel | queryModel |  |
| GroupJoinClause | groupJoinClause |  |

### VisitJoinClause(JoinClause, QueryModel, int)

#### Declaration

```csharp
public override void VisitJoinClause(JoinClause joinClause, QueryModel queryModel, int index)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| JoinClause | joinClause |  |
| QueryModel | queryModel |  |
| int | index |  |

### VisitOrderings(ObservableCollection<Ordering>, QueryModel, OrderByClause)

#### Declaration

```csharp
protected override void VisitOrderings(ObservableCollection<Ordering> orderings, QueryModel queryModel, OrderByClause orderByClause)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| ObservableCollection<>Ordering | orderings |  |
| QueryModel | queryModel |  |
| OrderByClause | orderByClause |  |

### VisitResultOperators(ObservableCollection<ResultOperatorBase>, QueryModel)

#### Declaration

```csharp
protected override void VisitResultOperators(ObservableCollection<ResultOperatorBase> resultOperators, QueryModel queryModel)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| ObservableCollection<>ResultOperatorBase | resultOperators |  |
| QueryModel | queryModel |  |

### VisitSelectClause(SelectClause, QueryModel)

#### Declaration

```csharp
public override void VisitSelectClause(SelectClause selectClause, QueryModel queryModel)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| SelectClause | selectClause |  |
| QueryModel | queryModel |  |

### VisitWhereClause(WhereClause, QueryModel, int)

#### Declaration

```csharp
public override void VisitWhereClause(WhereClause whereClause, QueryModel queryModel, int index)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| WhereClause | whereClause |  |
| QueryModel | queryModel |  |
| int | index |  |
