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

# EdmDocumentation

> Helpers for composing CSDL and vocabulary documentation into MCP text.

## Definition

**Assembly:** Microsoft.OData.Mcp.Core.dll

**Namespace:** Microsoft.OData.Mcp.Core.Models

**Inheritance:** System.Object

## Syntax

```csharp theme={null}
Microsoft.OData.Mcp.Core.Models.EdmDocumentation
```

## Summary

Helpers for composing CSDL and vocabulary documentation into MCP text.

## Methods

### &#x20;Add

Adds a documentation string to a payload only when it carries information.

#### Syntax

```csharp theme={null}
public static void Add(System.Collections.Generic.IDictionary<string, object> target, string key, string value, string skipIfEqualTo = null)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `target` | `System.Collections.Generic.IDictionary<string, object?>` | The payload dictionary. |
| `key` | `string` | The key to add. |
| `value` | `string?` | The documentation string, or `null`. |
| `skipIfEqualTo` | `string?` | A value already emitted elsewhere; an equal string is not repeated. |

#### Exceptions

| Exception | Description |
| - | - |
| `ArgumentNullException` | Thrown when *target* is null. |
| `ArgumentException` | Thrown when *key* is null or whitespace. |

#### Remarks

Whitespace values never produce a key. This is how shapes avoid `"description": null` noise.

### &#x20;Add

Adds a documentation string to a string-valued payload only when it carries information.

#### Syntax

```csharp theme={null}
public static void Add(System.Collections.Generic.IDictionary<string, string> target, string key, string value, string skipIfEqualTo = null)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `target` | `System.Collections.Generic.IDictionary<string, string>` | The payload dictionary. |
| `key` | `string` | The key to add. |
| `value` | `string?` | The documentation string, or `null`. |
| `skipIfEqualTo` | `string?` | A value already emitted elsewhere; an equal string is not repeated. |

#### Exceptions

| Exception | Description |
| - | - |
| `ArgumentNullException` | Thrown when *target* is null. |
| `ArgumentException` | Thrown when *key* is null or whitespace. |

### &#x20;First

Returns the first non-whitespace documentation string.

#### Syntax

```csharp theme={null}
public static string First(params string[] values)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `values` | `string?[]` | Candidate documentation strings, in preference order. |

#### Returns

Type: `string?`
The first non-whitespace value, or `null` when none are documented.


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