Definition
Assembly: Microsoft.OData.Mcp.Core.dll Namespace: Microsoft.OData.Mcp.Core.Models Inheritance: System.ObjectSyntax
Summary
Represents a singleton in an OData entity container.Remarks
Singletons represent individual entity instances that are addressable as single resources rather than collections. They are useful for representing unique entities like service configuration, user profiles, or system settings that exist as single instances.Constructors
.ctor
Initializes a new instance of the EdmSingleton class.Syntax
.ctor
Initializes a new instance of the EdmSingleton class with the specified name and type.Syntax
Parameters
| Name | Type | Description |
|---|---|---|
name | string | The name of the singleton. |
type | string | The entity type of the singleton. |
Exceptions
| Exception | Description |
|---|---|
ArgumentException | Thrown when name or type is null or whitespace. |
.ctor Inherited
Inherited from
objectSyntax
Properties
Annotations
Gets or sets the annotations for this singleton.Syntax
Property Value
Type:System.Collections.Generic.Dictionary<string, object>
A dictionary of annotations that provide additional metadata about the singleton.
Remarks
Annotations can be used to specify additional behaviors, constraints, or metadata that are not captured by the standard OData model elements.HasNavigationPropertyBindings
Gets a value indicating whether this singleton has any navigation property bindings.Syntax
Property Value
Type:bool
true if the singleton has navigation property bindings; otherwise, false.
Name
Gets or sets the name of the singleton.Syntax
Property Value
Type:string
The name used to address this singleton in OData URLs.
Remarks
The singleton name appears in the URL path when accessing the individual entity.NavigationPropertyBindings
Gets or sets the navigation property bindings for this singleton.Syntax
Property Value
Type:System.Collections.Generic.List<Microsoft.OData.Mcp.Core.Models.EdmNavigationPropertyBinding>
A collection of navigation property bindings that establish relationships with other entity sets or singletons.
Remarks
Navigation property bindings specify which entity set or singleton should be used when following a navigation property from this singleton. They establish the connections between related resources in the model.Type
Gets or sets the entity type of the singleton.Syntax
Property Value
Type:string
The fully qualified name of the entity type for this singleton.
Remarks
The singleton instance must be of this entity type or one of its derived types. This determines the structure and properties available for the singleton.TypeName
Gets the short name of the entity type (without namespace).Syntax
Property Value
Type:string
The entity type name without the namespace prefix.
TypeNamespace
Gets the namespace of the entity type.Syntax
Property Value
Type:string
The namespace portion of the entity type, or an empty string if no namespace.
Methods
AddAnnotation
Adds an annotation to this singleton.Syntax
Parameters
| Name | Type | Description |
|---|---|---|
term | string | The annotation term. |
value | object | The annotation value. |
Exceptions
| Exception | Description |
|---|---|
ArgumentException | Thrown when term is null or whitespace. |
AddNavigationPropertyBinding
Adds a navigation property binding to this singleton.Syntax
Parameters
| Name | Type | Description |
|---|---|---|
navigationPropertyPath | string | The path of the navigation property. |
target | string | The target entity set or singleton name. |
Exceptions
| Exception | Description |
|---|---|
ArgumentException | Thrown when navigationPropertyPath or target is null or whitespace. |
Equals Override
Determines whether the specified object is equal to the current singleton.Syntax
Parameters
| Name | Type | Description |
|---|---|---|
obj | object? | The object to compare with the current singleton. |
Returns
Type:bool
true if the specified object is equal to the current singleton; otherwise, false.
Equals Inherited Virtual
Inherited from
objectSyntax
Parameters
| Name | Type | Description |
|---|---|---|
obj | object? | - |
Returns
Type:bool
Equals Inherited
Inherited from
objectSyntax
Parameters
| Name | Type | Description |
|---|---|---|
objA | object? | - |
objB | object? | - |
Returns
Type:bool
GetAnnotation
Gets an annotation value by term.Syntax
Parameters
| Name | Type | Description |
|---|---|---|
term | string | The annotation term. |
Returns
Type:T?
The annotation value, or the default value of T if not found.
Type Parameters
T- The type of the annotation value.
GetHashCode Override
Returns a hash code for the current singleton.Syntax
Returns
Type:int
A hash code for the current singleton.
GetHashCode Inherited Virtual
Inherited from
objectSyntax
Returns
Type:int
GetNavigationPropertyBinding
Gets a navigation property binding by navigation property path.Syntax
Parameters
| Name | Type | Description |
|---|---|---|
navigationPropertyPath | string | The path of the navigation property. |
Returns
Type:Microsoft.OData.Mcp.Core.Models.EdmNavigationPropertyBinding?
The navigation property binding with the specified path, or null if not found.
GetType Inherited
Inherited from
objectSyntax
Returns
Type:System.Type
MemberwiseClone Inherited
Inherited from
objectSyntax
Returns
Type:object
ReferenceEquals Inherited
Inherited from
objectSyntax
Parameters
| Name | Type | Description |
|---|---|---|
objA | object? | - |
objB | object? | - |
Returns
Type:bool
RemoveNavigationPropertyBinding
Removes a navigation property binding from this singleton.Syntax
Parameters
| Name | Type | Description |
|---|---|---|
navigationPropertyPath | string | The path of the navigation property to remove. |
Returns
Type:bool
true if the binding was removed; otherwise, false.
ToString Override
Returns a string representation of the singleton.Syntax
Returns
Type:string
A string containing the singleton name and type.
ToString Inherited Virtual
Inherited from
objectSyntax
Returns
Type:string?