ModelStore Class
Implements physical storage for a schema model instance.
Inheritance Hierarchy
System.Object
Microsoft.Data.Schema.SchemaModel.ModelStore
Microsoft.Data.Schema.SchemaModel.DataSchemaModel
Namespace: Microsoft.Data.Schema.SchemaModel
Assembly: Microsoft.Data.Schema (in Microsoft.Data.Schema.dll)
Syntax
'Declaration
<SerializableAttribute> _
Public MustInherit Class ModelStore _
Implements IModelAnnotationHolder, IDisposable, ISerializable
[SerializableAttribute]
public abstract class ModelStore : IModelAnnotationHolder,
IDisposable, ISerializable
[SerializableAttribute]
public ref class ModelStore abstract : IModelAnnotationHolder,
IDisposable, ISerializable
[<AbstractClass>]
[<SerializableAttribute>]
type ModelStore =
class
interface IModelAnnotationHolder
interface IDisposable
interface ISerializable
end
public abstract class ModelStore implements IModelAnnotationHolder, IDisposable, ISerializable
The ModelStore type exposes the following members.
Constructors
Name | Description | |
---|---|---|
ModelStore(SerializationInfo, StreamingContext) | ||
ModelStore(ModelCollation, ModelSchema, String) |
Top
Properties
Name | Description | |
---|---|---|
BuiltInPropertyTypes | ||
Collation | ||
Comparer | Gets the collation comparer object. | |
IsDisposing | ||
IsOptimizedForInsert | ||
IsOptimizedForQuery | ||
Schema | ||
WriteCount | Returns the value of the current write count. |
Top
Methods
Name | Description | |
---|---|---|
AddAnnotation | Adds an annotation to the model. | |
Attach | ||
CleanupExternalProperty | When implemented in a derived class, releases resources that are used by an external property when the element is deleted. | |
CreateAnnotation(Type) | ||
CreateAnnotation(ModelAnnotationClass) | Creates an annotation by using the given annotation metadata. | |
CreateAnnotation<TAnnotation>() | ||
CreateElement(Type) | ||
CreateElement(ModelElementClass) | Creates an element by using the given element metadata object. | |
CreateElement<TElement>() | ||
CreateElementHandle | ||
CreateExternalElement(Type) | Creates an external element. | |
CreateExternalElement(ModelElementClass) | Creates an external element by using the provided element metadata object. | |
CreateExternalElement<TElement>() | Creates an external element of the specified type. | |
CreateExternalNamedElement(Type, ModelIdentifier) | Creates a named external element by using the provided type and identifier. | |
CreateExternalNamedElement(ModelElementClass, ModelIdentifier) | Creates a named external element by using the provided element metadata object and identifier. | |
CreateExternalNamedElement<TElement>(ModelIdentifier) | Creates a named external element of the specified type by using the provided element metadata object and identifier. | |
CreateIdentifier(ICollection<String>) | Creates a unique model identifier by using the provided collection of part names. | |
CreateIdentifier(array<String[]) | Creates a unique model identifier by using the provided array of part names. | |
CreateIdentifier(Boolean, ICollection<String>) | Creates a unique model identifier by using the provided collection of name parts. | |
CreateIdentifier(Boolean, array<String[]) | Creates a unique model identifier by using the provided case-sensitive indication and array of part names. | |
CreateIdentifier(IList<String>, ICollection<String>) | Creates a unique model identifier by using the provided list of external part names, indication of case sensitivity, and collection of part names. | |
CreateIdentifier(IList<String>, Boolean, ICollection<String>) | Creates a unique model identifier by using the provided list of external parts, indication of case sensitivity, and collection of part names. | |
CreateIdentifier(IList<String>, Boolean, array<String[]) | Creates a unique model identifier by using the provided list of external part names, indication of case sensitivity, and array of part names. | |
CreateIdentifierHandle | Creates a handle for the provided identifier. | |
CreateNamedAnnotation(Type, ModelIdentifier) | Creates a named ModelAnnotation object by using the provided model identifier. | |
CreateNamedAnnotation(ModelAnnotationClass, ModelIdentifier) | Creates a named ModelAnnotation object by using the provided annotation metadata object and identifier. | |
CreateNamedAnnotation<TAnnotation>(ModelIdentifier) | Creates a named ModelAnnotation object by using the provided model identifier. | |
CreateNamedElement(Type, ModelIdentifier) | ||
CreateNamedElement(ModelElementClass, ModelIdentifier) | ||
CreateNamedElement<TElement>(ModelIdentifier) | ||
DecodeIdentifier(String) | Returns an identifier that corresponds to the decoded value of the provided string. | |
DecodeIdentifier(String, List<String>%, List<String>%) | Returns an identifier that corresponds to the decoded value of the provided string. | |
DeserializeExternalProperty | Returns the value of an external property by using the provided XML reader and property metadata object. | |
Detach | ||
Dispose() | Disposes the model. | |
Dispose(Boolean) | Disposes the model. | |
EncodeIdentifier | Returns a string representation of the identifier that is encoded with appropriate quotation and separator characters to demarcate its parts. | |
Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
Finalize | (Overrides Object.Finalize().) | |
FixupAfterDeserialization | ||
FreeElementHandle | Frees the provided element handle. | |
FreeIdentifierHandle | Frees the provided element handle. | |
GetAllAnnotations() | Returns a list of all annotations. | |
GetAllAnnotations(Type) | ||
GetAllAnnotations(ModelIdentifier) | Returns a list of all annotations that are named with the provided identifier. | |
GetAllAnnotations(ModelIdentifier, Type) | ||
GetAllAnnotations<TType>() | Returns a list of the annotations on the model that implements the given type. | |
GetAllAnnotations<TType>(ModelIdentifier) | Returns all annotations that implement the given type. | |
GetAnnotations() | Returns all the annotations on the model. | |
GetAnnotations(Type) | Returns a list of the annotations on the model that implements the given type. | |
GetAnnotations(ModelIdentifier) | Returns a list of the annotations on the model that matches the given identifiers. | |
GetAnnotations(ModelIdentifier, Type) | Returns all annotations that have the given identifier name, and that implement the given type. | |
GetAnnotations<TType>() | ||
GetAnnotations<TType>(ModelIdentifier) | Returns all elements. | |
GetElementHandleTarget | Returns a model element that is identified by the provided handle. | |
GetElements(ModelElementResolutionStatus) | Returns a list of the elements in the store that has the given resolution status. | |
GetElements(ModelElementValidationStatus) | Returns a list of the elements in the store that has the given validation status. | |
GetElements(Type, ModelElementQueryFilter) | ||
GetElements(ModelElementClass, ModelElementQueryFilter) | Returns elements that share the given metadata object as selected by the given filter. | |
GetElements(ModelElementResolutionStatus, Int32) | Returns a list of the elements that aredetermined by the count that has the given resolution status. | |
GetElements(ModelElementValidationStatus, Int32) | Returns a list of the elements that are determined by the count that has the given validation status. | |
GetElements(ModelIdentifier, ModelElementClass, ModelElementQueryFilter) | ||
GetElements(ModelIdentifier, ModelIdentifierGroup, ModelElementQueryFilter) | ||
GetElements(ModelIdentifier, Type, ModelElementQueryFilter) | ||
GetElements<TElement>(ModelElementQueryFilter) | ||
GetElements<TElement>(ModelIdentifier, ModelElementQueryFilter) | ||
GetElementsCount(ModelElementResolutionStatus) | Returns the number of elements in the store that match the given status. | |
GetElementsCount(ModelElementValidationStatus) | Returns the number of elements in the store that match the given status. | |
GetElementsFrom(String, ModelElementClass, ModelElementQueryFilter) | ||
GetElementsFrom(String, Type, ModelElementQueryFilter) | ||
GetElementsFrom<TElement>(String, ModelElementQueryFilter) | ||
GetExternalProperty<TProperty> | ||
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetIdentifier(ICollection<String>) | ||
GetIdentifier(array<String[]) | Gets the identifier from the model by scope ID and a string. | |
GetIdentifier(IList<String>, ICollection<String>) | ||
GetIdentifierHandleTarget | ||
GetObjectData | ||
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
IsBuiltInPropertyType | ||
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
OnModelElementChanged | ||
OptimizeForInitialPopulation | ||
OptimizeForQuery | ||
RemoveAnnotation | Removes an annotation from the model. | |
SerializeExternalProperty | ||
SetExternalProperty<TProperty> | ||
TestWriteCount | Tests the write count with the given value. | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
UpdateSourceNamePrefixes | ||
ValidateWriteAccess |
Top
Events
Name | Description | |
---|---|---|
ModelChanged | ||
ModelOptimizationChanged |
Top
Remarks
The physical store–related constructs for a model are in this class. ModelStore has minimal services and no direct affinity for modeling databases. Instead, ModelStore is a basic modeling API that implements Elements, Annotations and Relationships, and Properties.
DataSchemaModel is an abstract base class that inherits ModelStore and represents a database-specific model API, which includes access to services for model building from Script Document Object Model (DOM), and vice versa. Database platform-specific model implementations, such as Sql90SchemaModel, are derived from DataSchemaModel.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also
Reference
Microsoft.Data.Schema.SchemaModel Namespace