Classe Store
L'archivio contenente una rappresentazione in memoria degli elementi e dei collegamenti in uno o più modelli.
Gerarchia di ereditarietà
System.Object
Microsoft.VisualStudio.Modeling.Store
Spazio dei nomi: Microsoft.VisualStudio.Modeling
Assembly: Microsoft.VisualStudio.Modeling.Sdk.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)
Sintassi
'Dichiarazione
Public Class Store _
Implements IServiceProvider, IDisposable
public class Store : IServiceProvider, IDisposable
Il tipo Store espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
Store(array<Type[]) | Inizializza una nuova istanza di Store classe. | |
Store(IServiceProvider, array<Type[]) | Inizializza una nuova istanza di Store classe. | |
Store(IServiceProvider, Dictionary<Object, Object>, array<Type[]) | Crea un'istanza della classe di archiviazione che delega l'implementazione di IServiceProvider il serviceProvider specificato. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
ChangeSource | Ottiene il database di origine corrente di modifica per le operazioni nell'archivio. | |
CurrentContext | Ottiene il contesto corrente dell'archivio. | |
DefaultPartition | ottiene o imposta la partizione predefinita per l'archivio. | |
DemandLoading | Indica se l'archivio è attualmente richiesta che carica una relazione. | |
Disposed | Indica se l'archivio è stato eliminato. | |
DomainDataDirectory | Ottiene la directory di informazioni del dominio dell'archivio. | |
DomainModels | Ottiene una raccolta di modelli di dominio in questo archivio. | |
ElementDirectory | Ottiene la directory degli elementi contenuti all'interno dell'archivio. | |
ElementFactory | Ottiene la factory dell'elemento del modello. | |
EventManagerDirectory | Ottiene la directory del gestore di eventi per il modello. | |
Id | Ottiene l'ID dell'archivio. | |
InRedo | Ottiene l'archivio e verifica se il contesto corrente dell'archivio sta scorrendo. | |
InSerializationTransaction | Indica che l'archivio è attualmente un oggetto alla transazione attiva di serializzazione dello stack di transazione | |
InUndo | Ottiene l'archivio e verifica se il contesto corrente dell'archivio sia annullamento. | |
InUndoRedoOrRollback | Ottiene l'archivio e verifica se il contesto corrente dell'archivio sta scorrendo, annullando, o stia utilizzando il postback. | |
Partitions | Ottiene la raccolta di oggetti della partizione per l'archivio. | |
PartitionsAlternate | Ottiene le partizioni utilizzate nell'archivio. | |
PropertyBag | ottiene il contenitore di proprietà per l'archivio. | |
RuleManager | Ottiene la gestione regole per l'archivio. | |
SerializerDirectory | la directory predefinita di serializzazione per questo archivio | |
ShuttingDown | Ottiene l'archivio e verifica se l'archivio sia in fase di chiusura, o imposta lo stato dell'archivio come interrompendo. | |
TransactionActive | Ottiene o imposta se l'archivio ha attualmente un oggetto alla transazione attiva. | |
TransactionLogs | Ottiene l'elenco corrente dei log delle transazioni per l'archivio. | |
TransactionManager | Ottiene il gestore delle transazioni per il modello. | |
UndoManager | ottiene UndoManager per il contesto predefinito. | |
Version | Ottiene la versione dell'archivio. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
AddMonikerResolver | registrare IMonikerResolver per il modello di dominio specificato. | |
DefaultPartitionForClass | Restituire la partizione in cui i nuovi elementi della classe specificata devono essere creati per impostazione predefinita. | |
Dispose | elimina l'archivio. | |
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) | |
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) | |
FindDomainModel | Cerca un modello di dominio in base all'ID. | |
FindMonikerResolver | cerca IMonikerResolver registrato per il modello di dominio specificato. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) | Crea un prototipo del gruppo dell'elemento della partizione predefinita del tipo di chiusura specificato se un elenco di elementi radice è specificato. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType, Boolean) | Crea un prototipo del gruppo dell'elemento della partizione predefinita del tipo di chiusura specificata una volta fornito un elenco di elementi radice e consente di ignorare il caricamento della domanda. | |
GetDomainModel(Guid) | Ottiene un'istanza di un modello di dominio in base all'ID. | |
GetDomainModel<T>() | Ottiene un'istanza di un tipo specificato il modello di dominio. | |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) | |
GetService | ottiene un servizio. | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
LoadDomainModels | Creazione di tutti i dati del dominio per l'elenco specificato dei modelli di dominio. | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
PopContext | Rimuove il contesto corrente dalla parte superiore dello stack. | |
PushContext | Inserisce un nuovo contesto in cima allo stack di contesto nell'archivio. | |
RegisterTransactionLog | Consente a un client accede un log delle transazioni che verrà notifica degli eventi nell'archivio. | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) | |
UnregisterTransactionLog | Consente a un client di annullare la registrazione di un log delle transazioni dalla comunicazione degli eventi nell'archivio. |
In alto
Eventi
Nome | Descrizione | |
---|---|---|
StoreDisposing | Si verifica quando l'archivio viene eliminato. |
In alto
Metodi di estensione
Nome | Descrizione | |
---|---|---|
GetLocks | Ottenere i flag di blocco per questa istanza dell'archivio (Definito da ImmutabilityExtensionMethods). | |
IsLocked | Test se questo archivio di qualsiasi di un set specificato di blocchi (Definito da ImmutabilityExtensionMethods). | |
SetLocks | Impostare i flag del blocco di questa istanza dell'archivio (Definito da ImmutabilityExtensionMethods). |
In alto
Note
L'archivio contiene informazioni su uno o più modelli.Un archivio può contenere una raccolta di modelli, sebbene spesso esista un modello nell'archivio.
L'archivio contiene inoltre metadati su un modello e informazioni sulle istanze degli elementi e dei collegamenti tra elementi che costituiscono tale modello.I metadati contengono i tipi consentiti nel modello e relative relazioni.
L'archivio include diverse strutture di dati che vengono compilate quando viene caricato un modello nell'archivio.Ciò si verifica nelle circostanze seguenti:
quando il linguaggio specifico di dominio viene avviato, o come compilazione sperimentale
quando si implementa il linguaggio specifico di dominio e avvia di un utente finale
quando si carica un modello a livello di codice nell'archivio
DomainDataDirectory contiene i metadati sui tipi può essere nel modello.
ElementDirectory contiene informazioni su ogni istanza di un elemento e i relativi collegamenti.(Le istanze in ElementDirectory deve essere dei tipi definiti in DomainDataDirectory).
Dall'archivio, è possibile passare ai singoli elementi nell'archivio.È possibile ottenere informazioni sugli elementi o i tipi.È anche possibile eseguire le attività seguenti:
aggiungere elementi
elementi di eliminazione
modificare gli elementi esistenti e collegamenti e le relative proprietà
Ogni volta che si modifica un archivio, è necessario racchiudere il codice che scrive in un archivio Transaction.È possibile annullare tutte le modifiche all'archivio eseguito in una transazione utilizzando un oggetto Rollback la transazione o di prestazioni a Commit la transazione.
L'archivio dispone di un oggetto RuleManager che contiene funzionalità per sottoscrivere le regole.L'archivio inoltre possibile sottoscrivere gli eventi.
L'archivio è inoltre disponibile UndoManager quale contiene membri che consentono di annullare e iterazioni le modifiche all'archivio.Non è necessario in genere creare una nuova istanza di un archivio, sebbene sia possibile e sia possibile leggere un modello in deserializzazione di un modello nella nuova istanza.Spesso, si otterrà l'accesso all'archivio da Store proprietà di un elemento o un collegamento nel modello.Gli argomenti delle regole e degli eventi forniscono all'istanza del collegamento dell'elemento o in cui la regola o l'evento a ed è possibile utilizzare la proprietà dell'archivio per accedere all'archivio e proprio TransactionManager.
Esempi
Negli esempi seguenti vengono illustrati i diversi modi per creare un'istanza di un archivio.Quando esistono dipendenze tra i modelli di dominio, come nel terzo esempio che segue, i modelli di dominio devono essere specificati per dipendenza.
// 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));
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.VisualStudio.Modeling
Altre risorse
[reindirizzamento] Modello di dominio nell'API generata
How to: Create Elements in Code
How to: Create Elements in Code
How to: Set or Get Domain Property Values