IEdmModel Interface

Defines a semantic representation of an EDM model.

Namespace:  Microsoft.Data.Edm
Assembly:  Microsoft.Data.Edm (in Microsoft.Data.Edm.dll)

Syntax

'Declaration
Public Interface IEdmModel _
    Inherits IEdmElement
'Usage
Dim instance As IEdmModel
public interface IEdmModel : IEdmElement
public interface class IEdmModel : IEdmElement
type IEdmModel =  
    interface 
        interface IEdmElement 
    end
public interface IEdmModel extends IEdmElement

The IEdmModel type exposes the following members.

Properties

  Name Description
Public property DirectValueAnnotationsManager Gets the model's annotations manager.
Public property ReferencedModels Gets the collection of models referred to by this model.
Public property SchemaElements Gets the collection of schema elements that are contained in this model.
Public property VocabularyAnnotations Gets the collection of vocabulary annotations that are contained in this model.

Top

Methods

  Name Description
Public method FindDeclaredEntityContainer Searches for an entity container with the given name in this model and returns null if no such entity container exists.
Public method FindDeclaredFunctions Searches for functions with the given name in this model and returns an empty enumerable if no such function exists.
Public method FindDeclaredType Searches for a type with the given name in this model and returns null if no such type exists.
Public method FindDeclaredValueTerm Searches for a value term with the given name in this model and returns null if no such value term exists.
Public method FindDeclaredVocabularyAnnotations Searches for vocabulary annotations specified by this model.
Public method FindDirectlyDerivedTypes Finds a list of types that derive directly from the supplied type.

Top

Extension Methods

  Name Description
Public Extension Method DirectValueAnnotations Gets the direct value annotations for an element. (Defined by ExtensionMethods.)
Public Extension Method EntityContainers Gets the entity containers belonging to this model. (Defined by ExtensionMethods.)
Public Extension Method Errors Gets the errors, if any, that belong to this element or elements that this element contains. For example errors for a structural type include the errors of the type itself and errors of its declared properties. The method does not analyze elements referenced by this element. For example errors of a property do not include errors from its type. (Defined by ValidationExtensionMethods.)
Public Extension Method FindAllDerivedTypes Finds a list of types that derive from the supplied type directly or indirectly, and across models. (Defined by ExtensionMethods.)
Public Extension Method FindEntityContainer Searches for an entity container with the given name in this model and all referenced models and returns null if no such entity container exists. (Defined by ExtensionMethods.)
Public Extension Method FindFunctions Searches for functions with the given name in this model and all referenced models and returns an empty enumerable if no such functions exist. (Defined by ExtensionMethods.)
Public Extension Method FindType Searches for a type with the given name in this model and all referenced models and returns null if no such type exists. (Defined by ExtensionMethods.)
Public Extension Method FindValueTerm Searches for a value term with the given name in this model and all referenced models and returns null if no such value term exists. (Defined by ExtensionMethods.)
Public Extension Method FindVocabularyAnnotations(IEdmVocabularyAnnotatable) Overloaded. Gets an annotatable element's vocabulary annotations defined in a specific model and models referenced by that model. (Defined by ExtensionMethods.)
Public Extension Method FindVocabularyAnnotations<T>(IEdmVocabularyAnnotatable, IEdmTerm) Overloaded. Gets an annotatable element's vocabulary annotations that bind a particular term. (Defined by ExtensionMethods.)
Public Extension Method FindVocabularyAnnotations<T>(IEdmVocabularyAnnotatable, String) Overloaded. Gets an annotatable element's vocabulary annotations that bind a particular term. (Defined by ExtensionMethods.)
Public Extension Method FindVocabularyAnnotations<T>(IEdmVocabularyAnnotatable, IEdmTerm, String) Overloaded. Gets an annotatable element's vocabulary annotations that bind a particular term. (Defined by ExtensionMethods.)
Public Extension Method FindVocabularyAnnotations<T>(IEdmVocabularyAnnotatable, String, String) Overloaded. Gets an annotatable element's vocabulary annotations that bind a particular term. (Defined by ExtensionMethods.)
Public Extension Method FindVocabularyAnnotationsIncludingInheritedAnnotations Gets an annotatable element's vocabulary annotations defined in a specific model and models referenced by that model. (Defined by ExtensionMethods.)
Public Extension Method GetAnnotationValue(IEdmElement, String, String) Overloaded. Gets an annotation value corresponding to the given namespace and name provided. (Defined by ExtensionMethods.)
Public Extension Method GetAnnotationValue<T>(IEdmElement) Overloaded. Gets an annotation value from an annotatable element. (Defined by ExtensionMethods.)
Public Extension Method GetAnnotationValue<T>(IEdmElement, String, String) Overloaded. Gets an annotation value corresponding to the given namespace and name provided. (Defined by ExtensionMethods.)
Public Extension Method GetAnnotationValues Retrieves a set of annotation values. For each requested value, returns null if no annotation with the given name exists for the given element. (Defined by ExtensionMethods.)
Public Extension Method GetAssociationAnnotations Gets the annotations associated with the association serialized for a navigation property. (Defined by SerializationExtensionMethods.)
Public Extension Method GetAssociationEndName Gets the name used for the association end serialized for a navigation property. (Defined by SerializationExtensionMethods.)
Public Extension Method GetAssociationFullName Gets the fully-qualified name used for the association serialized for a navigation property. (Defined by SerializationExtensionMethods.)
Public Extension Method GetAssociationName Gets the name used for the association serialized for a navigation property. (Defined by SerializationExtensionMethods.)
Public Extension Method GetAssociationNamespace Gets the namespace used for the association serialized for a navigation property. (Defined by SerializationExtensionMethods.)
Public Extension Method GetAssociationSetAnnotations Gets the annotations associated with the association serialized for a navigation target of an entity set. (Defined by SerializationExtensionMethods.)
Public Extension Method GetAssociationSetName Gets the name used for the association set serialized for a navigation property of an entity set. (Defined by SerializationExtensionMethods.)
Public Extension Method GetDataServiceVersion Gets the version used for the data service of a navigation property of an entity set. (Defined by SerializationExtensionMethods.)
Public Extension Method GetDocumentation Gets documentation for a specified element. (Defined by ExtensionMethods.)
Public Extension Method GetEdmVersion Gets the EDM version with the specified model. (Defined by ExtensionMethods.)
Public Extension Method GetEdmxVersion Gets the version used for the edmx of a navigation property of an entity set. (Defined by SerializationExtensionMethods.)
Public Extension Method GetMaxDataServiceVersion Gets the version of the maximum data service for a navigation property of an entity set. (Defined by SerializationExtensionMethods.)
Public Extension Method GetNamespaceAlias Gets the serialization alias for a given namespace. (Defined by SerializationExtensionMethods.)
Public Extension Method GetNamespacePrefixMappings Gets the prefix mappings of the namespace for a navigation property. (Defined by SerializationExtensionMethods.)
Public Extension Method GetPropertyValue(IEdmStructuredValue, IEdmProperty, EdmExpressionEvaluator) Overloaded. Gets the IEdmValue of a property of a term type that has been applied to the type of a value. (Defined by ExtensionMethods.)
Public Extension Method GetPropertyValue(IEdmStructuredValue, IEdmProperty, String, EdmExpressionEvaluator) Overloaded. Gets the IEdmValue of a property of a term type that has been applied to the type of a value. (Defined by ExtensionMethods.)
Public Extension Method GetPropertyValue<T>(IEdmStructuredValue, IEdmProperty, EdmToClrEvaluator) Overloaded. Gets the CLR value of a property of a term type that has been applied to the type of a value. (Defined by ExtensionMethods.)
Public Extension Method GetPropertyValue<T>(IEdmStructuredValue, IEdmProperty, String, EdmToClrEvaluator) Overloaded. Gets the CLR value of a property of a term type that has been applied to the type of a value. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue(IEdmStructuredValue, String, EdmExpressionEvaluator) Overloaded. Gets the IEdmValue of a vocabulary term that has been applied to the type of a value. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue(IEdmStructuredValue, IEdmValueTerm, EdmExpressionEvaluator) Overloaded. Gets the IEdmValue of a vocabulary term that has been applied to the type of a value. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue(IEdmVocabularyAnnotatable, String, EdmExpressionEvaluator) Overloaded. Gets the IEdmValue of a vocabulary term that has been applied to an element. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue(IEdmVocabularyAnnotatable, IEdmValueTerm, EdmExpressionEvaluator) Overloaded. Gets the IEdmValue of a vocabulary term that has been applied to an element. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue(IEdmStructuredValue, String, String, EdmExpressionEvaluator) Overloaded. Gets the IEdmValue of a vocabulary term that has been applied to the type of a value. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue(IEdmStructuredValue, IEdmValueTerm, String, EdmExpressionEvaluator) Overloaded. Gets the IEdmValue of a vocabulary term that has been applied to the type of a value. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue(IEdmVocabularyAnnotatable, String, String, EdmExpressionEvaluator) Overloaded. Gets the IEdmValue of a vocabulary term that has been applied to an element. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue(IEdmVocabularyAnnotatable, IEdmValueTerm, String, EdmExpressionEvaluator) Overloaded. Gets the IEdmValue of a vocabulary term that has been applied to an element. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue<T>(IEdmStructuredValue, String, EdmToClrEvaluator) Overloaded. Gets the CLR value of a vocabulary term that has been applied to the type of a value. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue<T>(IEdmStructuredValue, IEdmValueTerm, EdmToClrEvaluator) Overloaded. Gets the CLR value of a vocabulary term that has been applied to the type of a value. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue<T>(IEdmVocabularyAnnotatable, String, EdmToClrEvaluator) Overloaded. Gets the CLR value of a vocabulary term that has been applied to an element. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue<T>(IEdmVocabularyAnnotatable, IEdmValueTerm, EdmToClrEvaluator) Overloaded. Gets the CLR value of a vocabulary term that has been applied to an element. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue<T>(IEdmStructuredValue, String, String, EdmToClrEvaluator) Overloaded. Gets the CLR value of a vocabulary term that has been applied to the type of a value. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue<T>(IEdmStructuredValue, IEdmValueTerm, String, EdmToClrEvaluator) Overloaded. Gets the CLR value of a vocabulary term that has been applied to the type of a value. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue<T>(IEdmVocabularyAnnotatable, String, String, EdmToClrEvaluator) Overloaded. Gets the CLR value of a vocabulary term that has been applied to an element. (Defined by ExtensionMethods.)
Public Extension Method GetTermValue<T>(IEdmVocabularyAnnotatable, IEdmValueTerm, String, EdmToClrEvaluator) Overloaded. Gets the CLR value of a vocabulary term that has been applied to an element. (Defined by ExtensionMethods.)
Public Extension Method IsBad Indicates whether this element contains errors returned by the Errors(IEdmElement) method. (Defined by ValidationExtensionMethods.)
Public Extension Method Location Gets the location of the specified item. (Defined by ExtensionMethods.)
Public Extension Method SchemaElementsAcrossModels Gets all schema elements from the model, and models referenced by it. (Defined by ExtensionMethods.)
Public Extension Method SetAnnotationValue(IEdmElement, String, String, Object) Overloaded. Sets an annotation value for an EDM element. If the value is null, no annotation is added and an existing annotation with the same name is removed. (Defined by ExtensionMethods.)
Public Extension Method SetAnnotationValue<T>(IEdmElement, T) Overloaded. Sets an annotation value on an annotatable element. (Defined by ExtensionMethods.)
Public Extension Method SetAnnotationValues Sets a set of annotation values. If a supplied value is null, no annotation is added and an existing annotation with the same name is removed. (Defined by ExtensionMethods.)
Public Extension Method SetAssociationAnnotations Sets the annotations for the association serialized for a navigation property. (Defined by SerializationExtensionMethods.)
Public Extension Method SetAssociationEndName Sets the name used for the association end serialized for a navigation property. (Defined by SerializationExtensionMethods.)
Public Extension Method SetAssociationName Sets the name used for the association serialized for a navigation property. (Defined by SerializationExtensionMethods.)
Public Extension Method SetAssociationNamespace Sets the namespace used for the association serialized for a navigation property. (Defined by SerializationExtensionMethods.)
Public Extension Method SetAssociationSetAnnotations Sets the annotations for the association set serialized for a navigation target of an entity set. (Defined by SerializationExtensionMethods.)
Public Extension Method SetAssociationSetName Sets the name used for the association set serialized for a navigation property of an entity set. (Defined by SerializationExtensionMethods.)
Public Extension Method SetDataServiceVersion Sets the version used for the data service of a navigation property of an entity set. (Defined by SerializationExtensionMethods.)
Public Extension Method SetDocumentation Sets documentation for a specified element. (Defined by ExtensionMethods.)
Public Extension Method SetEdmVersion Sets the EDM version with the specified model and version. (Defined by ExtensionMethods.)
Public Extension Method SetEdmxVersion Sets the version used for the edmx of a navigation property of an entity set. (Defined by SerializationExtensionMethods.)
Public Extension Method SetMaxDataServiceVersion Sets the version of the maximum data service for a navigation property of an entity set. (Defined by SerializationExtensionMethods.)
Public Extension Method SetNamespaceAlias Sets the serialization alias for a given namespace (Defined by SerializationExtensionMethods.)
Public Extension Method SetNamespacePrefixMappings Sets an annotation on the IEdmModel to notify the serializer of preferred prefix mappings for xml namespaces. (Defined by SerializationExtensionMethods.)
Public Extension Method TryWriteCsdl(XmlWriter, IEnumerable<EdmError>%) Overloaded. Outputs a CSDL artifact to the provided writer. (Defined by CsdlWriter.)
Public Extension Method TryWriteCsdl(Func<String, XmlWriter>, IEnumerable<EdmError>%) Overloaded. Outputs a CSDL artifact to the provided writers. (Defined by CsdlWriter.)
Public Extension Method Validate(IEnumerable<EdmError>%) Overloaded. Validates the IEdmModel and all of its properties using the current version of the model. If the model has no version, IEdmModel is used. (Defined by EdmValidator.)
Public Extension Method Validate(Version, IEnumerable<EdmError>%) Overloaded. Validates the IEdmModel and all of its properties given certain version. (Defined by EdmValidator.)
Public Extension Method Validate(ValidationRuleSet, IEnumerable<EdmError>%) Overloaded. Validates the IEdmModel and all of its properties given certain version. (Defined by EdmValidator.)

Top

Remarks

This interface, and all interfaces reachable from it, preserve certain invariants: -- The backing implementation of an element can be loaded or created on demand. -- No direct element mutation occurs through the interfaces.

See Also

Reference

Microsoft.Data.Edm Namespace