> ## Documentation Index
> Fetch the complete documentation index at: https://easyaf.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# QueryExpressionContext

> Represents context for a query expression that             is used during query expression processing.

## Definition

**Assembly:** Microsoft.Restier.Core.dll

**Namespace:** Microsoft.Restier.Core.Query

**Inheritance:** System.Object

## Syntax

```csharp theme={"dark"}
Microsoft.Restier.Core.Query.QueryExpressionContext
```

## Summary

Represents context for a query expression that
is used during query expression processing.

## Constructors

### <Icon icon="hammer" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> .ctor

Initializes a new instance of the [QueryExpressionContext](/restier/api-reference/Microsoft/Restier/Core/Query/QueryExpressionContext) class.

#### Syntax

```csharp theme={"dark"}
public QueryExpressionContext(Microsoft.Restier.Core.Query.QueryContext queryContext)
```

#### Parameters

| Name           | Type                                        | Description      |
| -------------- | ------------------------------------------- | ---------------- |
| `queryContext` | `Microsoft.Restier.Core.Query.QueryContext` | A query context. |

### <Icon icon="hammer" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> .ctor <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public Object()
```

## Properties

### <Icon icon="tag" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> AfterNestedVisitCallback

Gets or sets an action that is invoked after an
expanded or filtered expression has been visited.

#### Syntax

```csharp theme={"dark"}
public System.Action AfterNestedVisitCallback { get; set; }
```

#### Property Value

Type: `System.Action`

### <Icon icon="tag" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> ModelReference

Gets a reference to the model element
that represents the visited node.

#### Syntax

```csharp theme={"dark"}
public Microsoft.Restier.Core.Query.QueryModelReference ModelReference { get; }
```

#### Property Value

Type: `Microsoft.Restier.Core.Query.QueryModelReference`

### <Icon icon="tag" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> QueryContext

Gets the query context associated with this context.

#### Syntax

```csharp theme={"dark"}
public Microsoft.Restier.Core.Query.QueryContext QueryContext { get; private set; }
```

#### Property Value

Type: `Microsoft.Restier.Core.Query.QueryContext`

### <Icon icon="tag" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> VisitedNode

Gets the expression node that is being visited.

#### Syntax

```csharp theme={"dark"}
public System.Linq.Expressions.Expression VisitedNode { get; }
```

#### Property Value

Type: `System.Linq.Expressions.Expression`

## Methods

### <Icon icon="code-fork" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> Equals <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public virtual bool Equals(object obj)
```

#### Parameters

| Name  | Type      | Description |
| ----- | --------- | ----------- |
| `obj` | `object?` | -           |

#### Returns

Type: `bool`

### <Icon icon="thumbtack" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> Equals <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public static bool Equals(object objA, object objB)
```

#### Parameters

| Name   | Type      | Description |
| ------ | --------- | ----------- |
| `objA` | `object?` | -           |
| `objB` | `object?` | -           |

#### Returns

Type: `bool`

### <Icon icon="code-fork" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> GetHashCode <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public virtual int GetHashCode()
```

#### Returns

Type: `int`

### <Icon icon="function" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> GetModelReferenceForNode

Gets a reference to the model element
that represents an expression node.

#### Syntax

```csharp theme={"dark"}
public Microsoft.Restier.Core.Query.QueryModelReference GetModelReferenceForNode(System.Linq.Expressions.Expression node)
```

#### Parameters

| Name   | Type                                 | Description         |
| ------ | ------------------------------------ | ------------------- |
| `node` | `System.Linq.Expressions.Expression` | An expression node. |

#### Returns

Type: `Microsoft.Restier.Core.Query.QueryModelReference`
A reference to the model element
that represents the expression node.

### <Icon icon="function" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> GetType <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public System.Type GetType()
```

#### Returns

Type: `System.Type`

### <Icon icon="function" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> MemberwiseClone <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
protected internal object MemberwiseClone()
```

#### Returns

Type: `object`

### <Icon icon="function" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> PopVisitedNode

Pops a visited node.

#### Syntax

```csharp theme={"dark"}
public void PopVisitedNode()
```

### <Icon icon="function" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> PushVisitedNode

Pushes a visited node.

#### Syntax

```csharp theme={"dark"}
public void PushVisitedNode(System.Linq.Expressions.Expression visitedNode)
```

#### Parameters

| Name          | Type                                 | Description     |
| ------------- | ------------------------------------ | --------------- |
| `visitedNode` | `System.Linq.Expressions.Expression` | A visited node. |

### <Icon icon="thumbtack" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> ReferenceEquals <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public static bool ReferenceEquals(object objA, object objB)
```

#### Parameters

| Name   | Type      | Description |
| ------ | --------- | ----------- |
| `objA` | `object?` | -           |
| `objB` | `object?` | -           |

#### Returns

Type: `bool`

### <Icon icon="function" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> ReplaceVisitedNode

Replaces the visited node.

#### Syntax

```csharp theme={"dark"}
public void ReplaceVisitedNode(System.Linq.Expressions.Expression visitedNode)
```

#### Parameters

| Name          | Type                                 | Description         |
| ------------- | ------------------------------------ | ------------------- |
| `visitedNode` | `System.Linq.Expressions.Expression` | A new visited node. |

### <Icon icon="code-fork" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> ToString <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public virtual string ToString()
```

#### Returns

Type: `string?`
