This documentation is archived and is not being maintained.

Microsoft.Data.Schema.SchemaModel Namespace

The Microsoft.Data.Schema.SchemaModel namespace houses the various base and core types for the Schema Model, which models the objects, relationships, and properties of the database objects. This namespace makes up an important part of the database schema provider (DSP) implementation.

Public classCustomSchemaDataHolds an arbitrary categorized data collection that can be attached to DataSchemaModel.
Public classDataSchemaModelThe DataSchemaModel is a specialization of the ModelStore. All database schema providers must implement a class that inherits this base class.
Protected classDataSchemaModel.ScriptSourcedModelElementProvides a base class for all model elements that have a script source.
Public classDataSchemaModelConstructorProvides options that change schema manager behavior.
Public classDataSchemaModelControllerEnables write access to the schema manager.
Public classDataSchemaModelControllerExceptionRepresents the thrown exception when a schema manager controller-related failure occurs.
Public classDataSchemaModelEventArgsProvides event arguments for events that are raised when the DataSchemaModel, or an element of it, changes.
Public classDataSchemaModelExceptionRepresents the data schema model exception.
Public classDataSchemaModelHeaderRepresents all header, or non-model, information that would be included with a serialized data schema model.
Public classFileScriptCacheInfrastructure. Provides file operations for script files. This class cannot be inherited.
Public classInMemoryScriptCacheRepresents a script cache that stores its scripts in memory.
Public classInstantiableTypeAttributeUsed to define the instantiable type as an element that is registered to the model.
Public classModelAnnotationRepresents an annotation that is attached to a schema model element.
Public classModelAnnotationClassRepresents a base metadata class for annotations in model elements.
Public classModelBuilderUsed to populate schema manager with scripts.
Public classModelBuilderConstructorUsed to create a model builder.
Public classModelCollationDefines the type of model collations. This is a string identifying the alphabet or language whose sorting rules are applied when dictionary sorting is specified.
Public classModelCollationComparerCompares two String objects, or two ModelIdentifier objects, or two IList<T> objects for equality or for the relationship between them.
Public classModelComparerRepresents the comparison engine used to compare two models or two elements.
Public classModelComparerConfigurationRepresents a configuration object that is defined for model comparison.
Public classModelComparerConstructorProvides a constructor class for a ModelComparer object.
Public classModelComparisonChangeDefinitionContains details on changes to the target IModelElement object that has been compared to a source element.
Public classModelComparisonExceptionRepresents the model comparison exception that can occur when two models are compared.
Public classModelComparisonFilterRepresents a filter that can be defined for comparison.
Public classModelComparisonResultRepresents the SchemaModel comparison result.
Public classModelElementProvides a base class for schema model elements that are supported by a specific database schema provider.
Public classModelElementClassRepresents the metadata for a model element. This class cannot be inherited.
Public classModelElementHandleRepresents the handle of an [T:Microsoft.Data.Schema.SchemaModel.IModelElement)] object that is obtained from the CreateElementHandle method. This class cannot be inherited.
Public classModelElementOwnerInfoRepresents model element owner information.
Public classModelEventArgsRepresents event arguments for model elements.
Public classModelExceptionRepresents the thrown exception for a model-related failure.
Public classModelIdentifierRepresents the unique identifier for a schema model.
Public classModelIdentifierGroupMarker class for an identifier that represents a group of elements.
Public classModelIdentifierHandleRepresents a runtime handle for a model identifier.
Public classModelInstantiationExceptionRepresents the thrown exception when the model cannot instantiate an item.
Public classModelPersistenceExceptionRepresents the model persistence exception.
Public classModelPropertyClass Represents metadata for a property. This class cannot be inherited.
Public classModelPropertyContainerClassRepresents a class that can contain properties, and provides access to the metadata for those properties.
Public classModelRegistrationExceptionRepresents the thrown exception when an issue with metadata registration occurs.
Public classModelRelationshipClassRepresents the metadata class for relationships. This class cannot be inherited.
Public classModelSchemaRepresents the metadata that is required to instantiate a ModelStore.
Public classModelSerializationExceptionRepresents the thrown exception when the model XML serializer encounters an error.
Public classModelStoreImplements physical storage for a schema model instance.
Public classModelStoreSerializationContextDefines the context of a serialization operation. This class supports the infrastructure and is not intended to be used directly from your code.
Public classParserConstructorProvides the base class for a class that instantiates a class that will parse a schema model for a specifically derived DatabaseSchemaProviderFamily.
Public classReverseEngineerUsed to create a new DataSchemaModel and to populate the model with schema objects from a deployed database.
Public classReverseEngineerConstructorRepresents a constructor class that defines define a reverse engineer feature.
Public classReverseEngineerExceptionBase exception class for the ReverseEngineer component.
Public classReverseEngineerFilterProvides a collection of filter elements that are used to determine which elements to import from the source database during reverse engineering in Visual Studio Application Lifecycle Management (ALM).
Public classReverseEngineerFilterElementRepresents a filtering criterion to define which elements to import from the source database for reverse engineering.
Public classScriptCacheUsed to access the ElementSource for a given model element.
Public classScriptCacheExceptionRepresents the thrown exception when script cache classes encounter an error.
Public classScriptDomGeneratorProvides a base class for implementations that can generate a script Document Object Model (DOM) from one model element; it is used to generate an IScriptFragment from an IModelElement.
Public classScriptDomGeneratorConstructorUsed to create a ScriptDomGenerator.
Public classScriptDomGeneratorExceptionRepresents a script Document Object Model (DOM) generator exception.
Public classScriptGeneratorConstructorProvides a base class for creating a script generator for a specifically derived DatabaseSchemaProviderFamily.
Public classSourceCodePositionSpecifies the location and position of the source code for a model element.

Public interfaceIModelAnnotationRepresents the model annotations that store feature-specific information about store elements.
Public interfaceIModelAnnotationHolderRepresents a class that can have attached annotations.
Public interfaceIModelAnnotationRegisterProvides an interface that, when added to the inheritance of a class, requires a method to register model annotations.
Public interfaceIModelElementProvides a basis for each element in a schema model.
Public interfaceIModelEntityRepresents an entity linked to a ModelStore.
Public interfaceIModelMultiRelationshipUsed to add multiple relationships.
Public interfaceIModelMultiRelationship<TFrom, TTo>Used to add multiple relationships.
Public interfaceIModelNamedThe elements in the model that are named should derive from this interface.
Public interfaceIModelPropertyContainerRepresents an entity, which can contain properties.
Public interfaceIModelRelationshipUsed to get both sides of a relationship.
Public interfaceIModelRelationship<TFrom, TTo>Used to obtain both sides of a relationship.
Public interfaceIModelRelationshipEntryRepresents a reference from one element to another, which might be unresolved.
Public interfaceIModelReverseMultiRelationshipRepresents the reverse multi-relationship.
Public interfaceIModelReverseMultiRelationship<TFrom, TTo>Represents the reverse multi relationship.
Public interfaceIModelReverseSingleRelationshipRepresents the reverse single relationship.
Public interfaceIModelReverseSingleRelationship<TFrom, TTo>Represents the reverse single relationship.
Public interfaceIModelSingleRelationshipIf this interface is used, a single element can occur at the right side.
Public interfaceIModelSingleRelationship<TFrom, TTo>If this interface is used, there can be a single element on the right side.
Public interfaceIScriptSourcedModelElementProvides an interface for all model elements that have a script source.
Public interfaceISourceInformationProvides an interface for information about the source for a database model element.

Public delegateInstantiateAnnotationCallback<TAnnotation>Represents the Type and method to be called to instantiate the annotation.
Public delegateInstantiateElementCallback<TElement>Represents the Type and method to be called to instantiate the element.

Public enumerationModelBuilderOptionSpecifies the model builder option.
Public enumerationModelComparisonResultTypeSpecifies a model comparison result type.
Public enumerationModelElementQueryFilterDefines the location of elements that are relevant to a query or operation.
Public enumerationModelElementResolutionStatusSpecifies the model element resolution status.
Public enumerationModelElementValidationStatusSpecifies the model element validation status.
Public enumerationModelEventTypeSpecifies a model event type.
Public enumerationModelRelationshipCardinalityStyleDefines the cardinality style of a relationship.
Public enumerationModelRelationshipTypeDefines the type of relationship.
Public enumerationReverseEngineerFilterTypeDetermines which model elements are to be imported from the source database during reverse engineering.
Public enumerationScriptDomOperationSpecifies a script Document Object Model (DOM) operation.