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

# ModelContext

> Represents context under which a model is requested.

## Definition

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

**Namespace:** Microsoft.Restier.Core.Model

**Inheritance:** Microsoft.Restier.Core.InvocationContext

## Syntax

```csharp theme={"dark"}
Microsoft.Restier.Core.Model.ModelContext
```

## Summary

Represents context under which a model is requested.

## Constructors

### &#x20;.ctor

Initializes a new instance of the [ModelContext](https://easyaf.nimbleapps.cloud/restier/api-reference/Microsoft/Restier/Core/Model/ModelContext.md) class.

#### Syntax

```csharp theme={"dark"}
public ModelContext(Microsoft.Restier.Core.ApiBase api)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `api` | `Microsoft.Restier.Core.ApiBase` | An Api. |

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `Microsoft.Restier.Core.InvocationContext`

Initializes a new instance of the [InvocationContext](https://easyaf.nimbleapps.cloud/restier/api-reference/Microsoft/Restier/Core/InvocationContext.md) class.

#### Syntax

```csharp theme={"dark"}
public InvocationContext(Microsoft.Restier.Core.ApiBase api)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `api` | `Microsoft.Restier.Core.ApiBase` | An Api. |

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

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

## Properties

### &#x20;Api Inherited

> [!NOTE]
>
> Inherited from `Microsoft.Restier.Core.InvocationContext`

Gets the [ApiBase](https://easyaf.nimbleapps.cloud/restier/api-reference/Microsoft/Restier/Core/ApiBase.md) descendant for this invocation.

#### Syntax

```csharp theme={"dark"}
public Microsoft.Restier.Core.ApiBase Api { get; }
```

#### Property Value

Type: `Microsoft.Restier.Core.ApiBase`

### &#x20;ResourceSetTypeMap

Gets resource set and resource type map dictionary, it will be used by publisher for model build.

#### Syntax

```csharp theme={"dark"}
public System.Collections.Generic.IDictionary<string, System.Type> ResourceSetTypeMap { get; }
```

#### Property Value

Type: `System.Collections.Generic.IDictionary<string, System.Type>`

### &#x20;ResourceTypeKeyPropertiesMap

Gets resource type and its key properties map dictionary, and used by publisher for model build.
This is useful when key properties does not have key attribute
or follow Web Api OData key property naming convention.
Otherwise, this collection is not needed.

#### Syntax

```csharp theme={"dark"}
public System.Collections.Generic.IDictionary<System.Type, System.Collections.Generic.ICollection<System.Reflection.PropertyInfo>> ResourceTypeKeyPropertiesMap { get; }
```

#### Property Value

Type: `System.Collections.Generic.IDictionary<System.Type, System.Collections.Generic.ICollection<System.Reflection.PropertyInfo>>`

## Methods

### &#x20;Equals Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

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

#### Parameters

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

#### Returns

Type: `bool`

### &#x20;Equals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

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

#### Parameters

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

#### Returns

Type: `bool`

### &#x20;GetApiService Inherited

> [!NOTE]
>
> Inherited from `Microsoft.Restier.Core.InvocationContext`

Gets an API service.

#### Syntax

```csharp theme={"dark"}
public T GetApiService<T>() where T : class
```

#### Returns

Type: `T`
The API service instance.

#### Type Parameters

* `T` - The API service type.

### &#x20;GetApiService Inherited

> [!NOTE]
>
> Inherited from `Microsoft.Restier.Core.InvocationContext`

Gets an API service.

#### Syntax

```csharp theme={"dark"}
public object GetApiService(System.Type type)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `type` | `System.Type` | The API service type. |

#### Returns

Type: `object`
The API service instance.

### &#x20;GetHashCode Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

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

#### Returns

Type: `int`

### &#x20;GetType Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

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

#### Returns

Type: `System.Type`

### &#x20;MemberwiseClone Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

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

#### Returns

Type: `object`

### &#x20;ReferenceEquals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

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

#### Parameters

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

#### Returns

Type: `bool`

### &#x20;ToString Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

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

#### Returns

Type: `string?`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.