Skip to main content

Definition

Assembly: Microsoft.OData.Mcp.Core.dll Namespace: Microsoft.OData.Mcp.Core.Models Inheritance: System.Object

Syntax

Microsoft.OData.Mcp.Core.Models.EdmEntitySet

Summary

Represents an entity set in an OData entity container.

Remarks

Entity sets define collections of entities that can be accessed through the OData service. They provide the addressable resources that clients can query, create, update, and delete. Each entity set is associated with a specific entity type and may include navigation property bindings to establish relationships with other entity sets.

Constructors

.ctor

Initializes a new instance of the EdmEntitySet class.

Syntax

public EdmEntitySet()

.ctor

Initializes a new instance of the EdmEntitySet class with the specified name and entity type.

Syntax

public EdmEntitySet(string name, string entityType)

Parameters

NameTypeDescription
namestringThe name of the entity set.
entityTypestringThe entity type of the entities in this set.

Exceptions

ExceptionDescription
ArgumentExceptionThrown when name or entityType is null or whitespace.

.ctor Inherited

Inherited from object

Syntax

public Object()

Properties

Annotations

Gets or sets the annotations for this entity set.

Syntax

public System.Collections.Generic.Dictionary<string, object> Annotations { get; set; }

Property Value

Type: System.Collections.Generic.Dictionary<string, object> A dictionary of annotations that provide additional metadata about the entity set.

Remarks

Annotations can be used to specify additional behaviors, constraints, or metadata that are not captured by the standard OData model elements.

EntityType

Gets or sets the entity type of the entities in this set.

Syntax

public required string EntityType { get; set; }

Property Value

Type: string The fully qualified name of the entity type for entities in this set.

Remarks

All entities in the set must be instances of this entity type or its derived types. This determines the structure and properties available for entities in the set.

EntityTypeName

Gets the short name of the entity type (without namespace).

Syntax

public string EntityTypeName { get; }

Property Value

Type: string The entity type name without the namespace prefix.

EntityTypeNamespace

Gets the namespace of the entity type.

Syntax

public string EntityTypeNamespace { get; }

Property Value

Type: string The namespace portion of the entity type, or an empty string if no namespace.

HasNavigationPropertyBindings

Gets a value indicating whether this entity set has any navigation property bindings.

Syntax

public bool HasNavigationPropertyBindings { get; }

Property Value

Type: bool true if the entity set has navigation property bindings; otherwise, false.

IncludeInServiceDocument

Gets or sets a value indicating whether change tracking is enabled for this entity set.

Syntax

public bool IncludeInServiceDocument { get; set; }

Property Value

Type: bool true if change tracking is enabled; otherwise, false.

Remarks

When change tracking is enabled, the service can provide delta tokens and support for change tracking queries, allowing clients to efficiently retrieve only changed data.

Name

Gets or sets the name of the entity set.

Syntax

public required string Name { get; set; }

Property Value

Type: string The name used to address this entity set in OData URLs.

Remarks

The entity set name appears in the URL path when accessing the collection or individual entities within the set. Gets or sets the navigation property bindings for this entity set.

Syntax

public System.Collections.Generic.List<Microsoft.OData.Mcp.Core.Models.EdmNavigationPropertyBinding> NavigationPropertyBindings { get; set; }

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.

Remarks

Navigation property bindings specify which entity set should be used when following a navigation property from entities in this set. They establish the connections between related entity sets in the model.

Methods

AddAnnotation

Adds an annotation to this entity set.

Syntax

public void AddAnnotation(string term, object value)

Parameters

NameTypeDescription
termstringThe annotation term.
valueobjectThe annotation value.

Exceptions

ExceptionDescription
ArgumentExceptionThrown when term is null or whitespace.

AddNavigationPropertyBinding

Adds a navigation property binding to this entity set.

Syntax

public void AddNavigationPropertyBinding(string navigationPropertyPath, string target)

Parameters

NameTypeDescription
navigationPropertyPathstringThe path of the navigation property.
targetstringThe target entity set name.

Exceptions

ExceptionDescription
ArgumentExceptionThrown when navigationPropertyPath or target is null or whitespace.

Equals Override

Determines whether the specified object is equal to the current entity set.

Syntax

public override bool Equals(object obj)

Parameters

NameTypeDescription
objobject?The object to compare with the current entity set.

Returns

Type: bool true if the specified object is equal to the current entity set; otherwise, false.

Equals Inherited Virtual

Inherited from object

Syntax

public virtual bool Equals(object obj)

Parameters

NameTypeDescription
objobject?-

Returns

Type: bool

Equals Inherited

Inherited from object

Syntax

public static bool Equals(object objA, object objB)

Parameters

NameTypeDescription
objAobject?-
objBobject?-

Returns

Type: bool

GetAnnotation

Gets an annotation value by term.

Syntax

public T GetAnnotation<T>(string term)

Parameters

NameTypeDescription
termstringThe 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 entity set.

Syntax

public override int GetHashCode()

Returns

Type: int A hash code for the current entity set.

GetHashCode Inherited Virtual

Inherited from object

Syntax

public virtual int GetHashCode()

Returns

Type: int

GetNavigationPropertyBinding

Gets a navigation property binding by navigation property path.

Syntax

public Microsoft.OData.Mcp.Core.Models.EdmNavigationPropertyBinding GetNavigationPropertyBinding(string navigationPropertyPath)

Parameters

NameTypeDescription
navigationPropertyPathstringThe 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 object

Syntax

public System.Type GetType()

Returns

Type: System.Type

MemberwiseClone Inherited

Inherited from object

Syntax

protected internal object MemberwiseClone()

Returns

Type: object

ReferenceEquals Inherited

Inherited from object

Syntax

public static bool ReferenceEquals(object objA, object objB)

Parameters

NameTypeDescription
objAobject?-
objBobject?-

Returns

Type: bool

RemoveNavigationPropertyBinding

Removes a navigation property binding from this entity set.

Syntax

public bool RemoveNavigationPropertyBinding(string navigationPropertyPath)

Parameters

NameTypeDescription
navigationPropertyPathstringThe 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 entity set.

Syntax

public override string ToString()

Returns

Type: string A string containing the entity set name and entity type.

ToString Inherited Virtual

Inherited from object

Syntax

public virtual string ToString()

Returns

Type: string?