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.

Classes

  Class Description
Public class CustomSchemaData Holds an arbitrary categorized data collection that can be attached to DataSchemaModel.
Public class DataSchemaModel The DataSchemaModel is a specialization of the ModelStore. All database schema providers must implement a class that inherits this base class.
Protected class DataSchemaModel.ScriptSourcedModelElement Provides a base class for all model elements that have a script source.
Public class DataSchemaModelConstructor Provides options that change schema manager behavior.
Public class DataSchemaModelController Enables write access to the schema manager.
Public class DataSchemaModelControllerException Represents the thrown exception when a schema manager controller-related failure occurs.
Public class DataSchemaModelEventArgs Provides event arguments for events that are raised when the DataSchemaModel, or an element of it, changes.
Public class DataSchemaModelException Represents the data schema model exception.
Public class DataSchemaModelHeader Represents all header, or non-model, information that would be included with a serialized data schema model.
Public class FileScriptCache Infrastructure. Provides file operations for script files. This class cannot be inherited.
Public class InMemoryScriptCache Represents a script cache that stores its scripts in memory.
Public class InstantiableTypeAttribute Used to define the instantiable type as an element that is registered to the model.
Public class ModelAnnotation Represents an annotation that is attached to a schema model element.
Public class ModelAnnotationClass Represents a base metadata class for annotations in model elements.
Public class ModelBuilder Used to populate schema manager with scripts.
Public class ModelBuilderConstructor Used to create a model builder.
Public class ModelCollation Defines 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 class ModelCollationComparer Compares two String objects, or two ModelIdentifier objects, or two IList<T> objects for equality or for the relationship between them.
Public class ModelComparer Represents the comparison engine used to compare two models or two elements.
Public class ModelComparerConfiguration Represents a configuration object that is defined for model comparison.
Public class ModelComparerConstructor Provides a constructor class for a ModelComparer object.
Public class ModelComparisonChangeDefinition Contains details on changes to the target IModelElement object that has been compared to a source element.
Public class ModelComparisonException Represents the model comparison exception that can occur when two models are compared.
Public class ModelComparisonFilter Represents a filter that can be defined for comparison.
Public class ModelComparisonResult Represents the SchemaModel comparison result.
Public class ModelElement Provides a base class for schema model elements that are supported by a specific database schema provider.
Public class ModelElementClass Represents the metadata for a model element. This class cannot be inherited.
Public class ModelElementHandle Represents the handle of an [T:Microsoft.Data.Schema.SchemaModel.IModelElement)] object that is obtained from the CreateElementHandle method. This class cannot be inherited.
Public class ModelElementOwnerInfo Represents model element owner information.
Public class ModelEventArgs Represents event arguments for model elements.
Public class ModelException Represents the thrown exception for a model-related failure.
Public class ModelIdentifier Represents the unique identifier for a schema model.
Public class ModelIdentifierGroup Marker class for an identifier that represents a group of elements.
Public class ModelIdentifierHandle Represents a runtime handle for a model identifier.
Public class ModelInstantiationException Represents the thrown exception when the model cannot instantiate an item.
Public class ModelPersistenceException Represents the model persistence exception.
Public class ModelPropertyClass Represents metadata for a property. This class cannot be inherited.
Public class ModelPropertyContainerClass Represents a class that can contain properties, and provides access to the metadata for those properties.
Public class ModelRegistrationException Represents the thrown exception when an issue with metadata registration occurs.
Public class ModelRelationshipClass Represents the metadata class for relationships. This class cannot be inherited.
Public class ModelSchema Represents the metadata that is required to instantiate a ModelStore.
Public class ModelSerializationException Represents the thrown exception when the model XML serializer encounters an error.
Public class ModelStore Implements physical storage for a schema model instance.
Public class ModelStoreSerializationContext Defines the context of a serialization operation. This class supports the infrastructure and is not intended to be used directly from your code.
Public class ParserConstructor Provides the base class for a class that instantiates a class that will parse a schema model for a specifically derived DatabaseSchemaProviderFamily.
Public class ReverseEngineer Used to create a new DataSchemaModel and to populate the model with schema objects from a deployed database.
Public class ReverseEngineerConstructor Represents a constructor class that defines define a reverse engineer feature.
Public class ReverseEngineerException Base exception class for the ReverseEngineer component.
Public class ReverseEngineerFilter Provides 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 class ReverseEngineerFilterElement Represents a filtering criterion to define which elements to import from the source database for reverse engineering.
Public class ScriptCache Used to access the ElementSource for a given model element.
Public class ScriptCacheException Represents the thrown exception when script cache classes encounter an error.
Public class ScriptDomGenerator Provides 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 class ScriptDomGeneratorConstructor Used to create a ScriptDomGenerator.
Public class ScriptDomGeneratorException Represents a script Document Object Model (DOM) generator exception.
Public class ScriptGeneratorConstructor Provides a base class for creating a script generator for a specifically derived DatabaseSchemaProviderFamily.
Public class SourceCodePosition Specifies the location and position of the source code for a model element.

Interfaces

  Interface Description
Public interface IModelAnnotation Represents the model annotations that store feature-specific information about store elements.
Public interface IModelAnnotationHolder Represents a class that can have attached annotations.
Public interface IModelAnnotationRegister Provides an interface that, when added to the inheritance of a class, requires a method to register model annotations.
Public interface IModelElement Provides a basis for each element in a schema model.
Public interface IModelEntity Represents an entity linked to a ModelStore.
Public interface IModelMultiRelationship Used to add multiple relationships.
Public interface IModelMultiRelationship<TFrom, TTo> Used to add multiple relationships.
Public interface IModelNamed The elements in the model that are named should derive from this interface.
Public interface IModelPropertyContainer Represents an entity, which can contain properties.
Public interface IModelRelationship Used to get both sides of a relationship.
Public interface IModelRelationship<TFrom, TTo> Used to obtain both sides of a relationship.
Public interface IModelRelationshipEntry Represents a reference from one element to another, which might be unresolved.
Public interface IModelReverseMultiRelationship Represents the reverse multi-relationship.
Public interface IModelReverseMultiRelationship<TFrom, TTo> Represents the reverse multi relationship.
Public interface IModelReverseSingleRelationship Represents the reverse single relationship.
Public interface IModelReverseSingleRelationship<TFrom, TTo> Represents the reverse single relationship.
Public interface IModelSingleRelationship If this interface is used, a single element can occur at the right side.
Public interface IModelSingleRelationship<TFrom, TTo> If this interface is used, there can be a single element on the right side.
Public interface IScriptSourcedModelElement Provides an interface for all model elements that have a script source.
Public interface ISourceInformation Provides an interface for information about the source for a database model element.

Delegates

  Delegate Description
Public delegate InstantiateAnnotationCallback<TAnnotation> Represents the Type and method to be called to instantiate the annotation.
Public delegate InstantiateElementCallback<TElement> Represents the Type and method to be called to instantiate the element.

Enumerations

  Enumeration Description
Public enumeration ModelBuilderOption Specifies the model builder option.
Public enumeration ModelComparisonResultType Specifies a model comparison result type.
Public enumeration ModelElementQueryFilter Defines the location of elements that are relevant to a query or operation.
Public enumeration ModelElementResolutionStatus Specifies the model element resolution status.
Public enumeration ModelElementValidationStatus Specifies the model element validation status.
Public enumeration ModelEventType Specifies a model event type.
Public enumeration ModelRelationshipCardinalityStyle Defines the cardinality style of a relationship.
Public enumeration ModelRelationshipType Defines the type of relationship.
Public enumeration ReverseEngineerFilterType Determines which model elements are to be imported from the source database during reverse engineering.
Public enumeration ScriptDomOperation Specifies a script Document Object Model (DOM) operation.

See Also

Reference

Other Resources

Extending the Database Features of Visual Studio