Store, classe
La banque contient une représentation en mémoire des éléments et des liens dans un ou plusieurs modèles.
Hiérarchie d'héritage
System.Object
Microsoft.VisualStudio.Modeling.Store
Espace de noms : Microsoft.VisualStudio.Modeling
Assembly : Microsoft.VisualStudio.Modeling.Sdk.11.0 (dans Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)
Syntaxe
'Déclaration
Public Class Store _
Implements IServiceProvider, IDisposable
public class Store : IServiceProvider, IDisposable
Le type Store expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
Store(array<Type[]) | Initialise une nouvelle instance de la classe Store. | |
Store(IServiceProvider, array<Type[]) | Initialise une nouvelle instance de la classe Store. | |
Store(IServiceProvider, Dictionary<Object, Object>, array<Type[]) | Crée une instance de la classe de la banque qui délègue l'implémentation d'IServiceProvider au serviceprovider donné. |
Début
Propriétés
Nom | Description | |
---|---|---|
ChangeSource | Obtient la source actuelle de modification pour des opérations dans la banque. | |
CurrentContext | Obtient le contexte actuel de la banque. | |
DefaultPartition | Obtient ou définit la partition par défaut pour la banque. | |
DemandLoading | Obtient une valeur indiquant si la banque est actuellement une application chargeant une relation. | |
Disposed | Obtient une valeur indiquant si la banque a été supprimée. | |
DomainDataDirectory | Obtient le répertoire d'informations de domaines de la banque. | |
DomainModels | Obtient une collection de modèles de domaine dans cette banque. | |
ElementDirectory | Obtient le répertoire des éléments contenus dans la banque. | |
ElementFactory | Obtient la fabrique d'élément pour le modèle. | |
EventManagerDirectory | Obtient le répertoire de gestionnaire d'événement pour le modèle. | |
Id | Obtient l'IDENTIFICATEUR de la banque. | |
InRedo | Obtient la banque et la vérifie si le contexte actuel de la banque est standard. | |
InSerializationTransaction | Indique que la banque un a actuellement - la transaction active de sérialisation en pile de transaction | |
InUndo | Obtient la banque et la vérifie si le contexte actuel de la banque est annulé. | |
InUndoRedoOrRollback | Obtient la banque et la vérifie si le contexte actuel de la banque dos est standard, annule, ou restaurée. | |
Partitions | Obtient la collection d'objets partition pour la banque. | |
PartitionsAlternate | Obtient les partitions utilisées dans la banque. | |
PropertyBag | Obtient le conteneur des propriétés pour la banque. | |
RuleManager | Obtient le gestionnaire de règle pour la banque. | |
SerializerDirectory | Le répertoire par défaut de sérialisation pour cette banque | |
ShuttingDown | Obtient la banque et vérifie si la banque s'arrête, ou définit l'état de la banque comme s'arrêtant. | |
TransactionActive | Obtient ou définit si la banque un a actuellement - la transaction active. | |
TransactionLogs | Obtient la liste actuelle de journaux de transaction pour la banque. | |
TransactionManager | Obtient le gestionnaire de transactions pour le modèle. | |
UndoManager | Obtient UndoManager pour le contexte par défaut. | |
Version | Obtient la version de la banque. |
Début
Méthodes
Nom | Description | |
---|---|---|
AddMonikerResolver | Enregistrez IMonikerResolver pour le modèle spécifié de domaine. | |
DefaultPartitionForClass | Retournez la partition dans laquelle de nouveaux éléments de la classe spécifiée doivent être créés par défaut. | |
Dispose | Supprime la banque. | |
Equals | Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.) | |
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) | |
FindDomainModel | Recherche un modèle de domaine par son ID. | |
FindMonikerResolver | Recherche IMonikerResolver enregistré pour le modèle spécifié de domaine. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) | Crée un prototype de groupe d'élément dans la partition par défaut du type de clôture donné si une liste d'éléments racine est spécifiée. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType, Boolean) | Crée un prototype de groupe d'élément dans la partition par défaut du type de clôture spécifié une fois donné une liste d'éléments racine et permet d'ignorer le chargement de requête. | |
GetDomainModel(Guid) | Obtient une instance d'un modèle de domaine par son ID. | |
GetDomainModel<T>() | Obtient une instance d'un type de modèle spécifié de domaine. | |
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) | |
GetService | Obtient un service. | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
LoadDomainModels | Crée toutes les données de domaine pour la liste spécifiée de modèles de domaine. | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.) | |
PopContext | Supprime le contexte actuel déclenchement du haut de la pile. | |
PushContext | Effectue un nouveau contexte au haut de la pile de contexte de la banque. | |
RegisterTransactionLog | Permet à un client pour enregistrer un journal de transaction qui sera informé des événements sur cette banque. | |
ToString | Retourne une chaîne qui représente l'objet actif. (Hérité de Object.) | |
UnregisterTransactionLog | Permet à un client pour annuler l'enregistrement un journal de transaction d'être averti des événements sur cette banque. |
Début
Événements
Nom | Description | |
---|---|---|
StoreDisposing | Se produit lorsque la banque supprime. |
Début
Méthodes d'extension
Nom | Description | |
---|---|---|
GetLocks | Obtenez les balises de verrou pour cette instance de la banque (Défini par ImmutabilityExtensionMethods.) | |
IsLocked | Test si cette banque a un quelconque d'un jeu spécifié de verrous (Défini par ImmutabilityExtensionMethods.) | |
SetLocks | Définissez les balises de verrou de cette instance de la banque (Défini par ImmutabilityExtensionMethods.) |
Début
Notes
La banque contient des informations sur un ou plusieurs modèles.Une banque peut contenir une collection de modèles, bien que souvent il y ait un seul modèle dans la banque.
La banque contient également des métadonnées sur d'un modèle et des informations sur les instances des éléments et des liens entre les éléments qui composent ce modèle.Les métadonnées contiennent les types autorisés dans le modèle et leurs relations.
La banque a plusieurs structures de données qui sont remplies lorsqu'un modèle est chargé dans la banque.Cela se produit dans les circonstances suivantes :
lorsque votre langage spécifique au domaine est lancé, l'un ou l'autre comme génération expérimentale
lorsque vous avez déployé votre le langage spécifique au domaine et démarre d'un utilisateur final il
lorsque vous chargez un programme de modèle dans la banque
DomainDataDirectory contient les métadonnées concernant les types autorisés pour être dans le modèle.
ElementDirectory contient des informations sur chaque instance d'élément et leurs liens.(Les instances dans ElementDirectory doivent être des types définis dans DomainDataDirectory.)
De la banque, vous pouvez naviguer aux différents éléments dans la banque.Vous pouvez obtenir des informations sur des éléments ou des types.Vous pouvez également effectuer les tâches suivantes :
ajoutez les éléments
supprimez les éléments
modifiez les éléments existants et les liens et leurs propriétés
Chaque fois que vous modifiez une banque, vous devez joindre tout code qui écrit à la banque dans Transaction.Vous pouvez annuler les modifications apportées à la banque faite d'une transaction en faisant Rollback de la transaction ou en ne faisant pas Commit de la transaction.
La banque a RuleManager qui contient la fonctionnalité pour l'abonner aux règles.La banque peut également l'abonner aux événements.
La banque a également UndoManager qui a les membres qui vous permettent pour annuler et rétablir des modifications à la banque.Vous en général ne devez pas créer une nouvelle instance d'une banque, bien que vous puissiez et puissiez lire un modèle dans celle-ci en désérialisant un modèle dans la nouvelle instance.Souvent, vous obtenez l'accès à la banque de la propriété d'Store d'un élément ou d'un lien dans le modèle.Les arguments d'événement des règles et des événements fournissent l'instance d'élément ou de lien laquelle la règle ou l'événement se rapporte, et vous pouvez utiliser sa propriété de la banque pour accéder à la banque et à son TransactionManager.
Exemples
Les exemples suivants montrent différentes façons d'instancier une banque.Lorsqu'il existe des dépendances entre le domaine modèle, comme dans le troisième exemple qui suit, les modèles de domaine doivent être spécifiés en ordre de dépendance.
// Create a store with your domain models (classes in the generated
// code derived from Microsoft.VisualStudio.Modeling.DomainModel).
Store store = new Store(typeof(ActivityDomainModel));
// Domain models can be loaded into the store after construction.
// Be sure to call store.Dispose() when you are done with it.
Store store2 = new Store();
Store2.LoadDomainModels(typeof(ActivityDomainModel));
// Multiple domain models can be loaded into the store at once
Store store3 = new Store(typeof(BaseActivityDomainModel), typeof(ExtendedActivityDomainModel));
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Microsoft.VisualStudio.Modeling, espace de noms
Autres ressources
[redirection] Modèle de domaine de l'API générée
How to: Create Elements in Code
How to: Create Elements in Code
How to: Set or Get Domain Property Values