Share via


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
Méthode publique Store(array<Type[]) Initialise une nouvelle instance de la classe Store.
Méthode publique Store(IServiceProvider, array<Type[]) Initialise une nouvelle instance de la classe Store.
Méthode publique 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
Propriété publique ChangeSource Obtient la source actuelle de modification pour des opérations dans la banque.
Propriété publique CurrentContext Obtient le contexte actuel de la banque.
Propriété publique DefaultPartition Obtient ou définit la partition par défaut pour la banque.
Propriété publique DemandLoading Obtient une valeur indiquant si la banque est actuellement une application chargeant une relation.
Propriété publique Disposed Obtient une valeur indiquant si la banque a été supprimée.
Propriété publique DomainDataDirectory Obtient le répertoire d'informations de domaines de la banque.
Propriété publique DomainModels Obtient une collection de modèles de domaine dans cette banque.
Propriété publique ElementDirectory Obtient le répertoire des éléments contenus dans la banque.
Propriété publique ElementFactory Obtient la fabrique d'élément pour le modèle.
Propriété publique EventManagerDirectory Obtient le répertoire de gestionnaire d'événement pour le modèle.
Propriété publique Id Obtient l'IDENTIFICATEUR de la banque.
Propriété publique InRedo Obtient la banque et la vérifie si le contexte actuel de la banque est standard.
Propriété publique InSerializationTransaction Indique que la banque un a actuellement - la transaction active de sérialisation en pile de transaction
Propriété publique InUndo Obtient la banque et la vérifie si le contexte actuel de la banque est annulé.
Propriété publique InUndoRedoOrRollback Obtient la banque et la vérifie si le contexte actuel de la banque dos est standard, annule, ou restaurée.
Propriété publique Partitions Obtient la collection d'objets partition pour la banque.
Propriété publique PartitionsAlternate Obtient les partitions utilisées dans la banque.
Propriété publique PropertyBag Obtient le conteneur des propriétés pour la banque.
Propriété publique RuleManager Obtient le gestionnaire de règle pour la banque.
Propriété publique SerializerDirectory Le répertoire par défaut de sérialisation pour cette banque
Propriété publique 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.
Propriété publique TransactionActive Obtient ou définit si la banque un a actuellement - la transaction active.
Propriété publique TransactionLogs Obtient la liste actuelle de journaux de transaction pour la banque.
Propriété publique TransactionManager Obtient le gestionnaire de transactions pour le modèle.
Propriété publique UndoManager Obtient UndoManager pour le contexte par défaut.
Propriété publique Version Obtient la version de la banque.

Début

Méthodes

  Nom Description
Méthode publique AddMonikerResolver Enregistrez IMonikerResolver pour le modèle spécifié de domaine.
Méthode publique DefaultPartitionForClass Retournez la partition dans laquelle de nouveaux éléments de la classe spécifiée doivent être créés par défaut.
Méthode publique Dispose Supprime la banque.
Méthode publique Equals Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégée 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.)
Méthode publique FindDomainModel Recherche un modèle de domaine par son ID.
Méthode publique FindMonikerResolver Recherche IMonikerResolver enregistré pour le modèle spécifié de domaine.
Méthode publique 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.
Méthode publique 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.
Méthode publique GetDomainModel(Guid) Obtient une instance d'un modèle de domaine par son ID.
Méthode publique GetDomainModel<T>() Obtient une instance d'un type de modèle spécifié de domaine.
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetService Obtient un service.
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique LoadDomainModels Crée toutes les données de domaine pour la liste spécifiée de modèles de domaine.
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publique PopContext Supprime le contexte actuel déclenchement du haut de la pile.
Méthode publique PushContext Effectue un nouveau contexte au haut de la pile de contexte de la banque.
Méthode publique RegisterTransactionLog Permet à un client pour enregistrer un journal de transaction qui sera informé des événements sur cette banque.
Méthode publique ToString Retourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Méthode publique 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
Événement public StoreDisposing Se produit lorsque la banque supprime.

Début

Méthodes d'extension

  Nom Description
Méthode d'extension publique GetLocks Obtenez les balises de verrou pour cette instance de la banque (Défini par ImmutabilityExtensionMethods.)
Méthode d'extension publique IsLocked Test si cette banque a un quelconque d'un jeu spécifié de verrous (Défini par ImmutabilityExtensionMethods.)
Méthode d'extension publique 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: Create Links in Code

How to: Set or Get Domain Property Values

How to: Delete Elements and Links Programmatically

How to: Undo and Redo Changes Made to the Store