Udostępnij za pośrednictwem


Klasa Store

Magazyn zawiera reprezentację w pamięci elementów i łączy w jednej lub więcej modeli.

Hierarchia dziedziczenia

System.Object
  Microsoft.VisualStudio.Modeling.Store

Przestrzeń nazw:  Microsoft.VisualStudio.Modeling
Zestaw:  Microsoft.VisualStudio.Modeling.Sdk.12.0 (w Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

Składnia

'Deklaracja
Public Class Store _
    Implements IServiceProvider, IDisposable
public class Store : IServiceProvider, IDisposable

Typ Store uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda publiczna Store(array<Type[]) Inicjuje nowe wystąpienie Store klasy.
Metoda publiczna Store(IServiceProvider, array<Type[]) Inicjuje nowe wystąpienie Store klasy.
Metoda publiczna Store(IServiceProvider, Dictionary<Object, Object>, array<Type[]) Tworzy instancję klasy magazynu, który deleguje dostawca IServiceProvider wykonania danej serviceProvider.

Początek

Właściwości

  Nazwa Opis
Właściwość publiczna ChangeSource Pobiera bieżący Zmień źródło dla operacji w magazynie.
Właściwość publiczna CurrentContext Pobiera bieżący kontekst magazynu.
Właściwość publiczna DefaultPartition Zwraca lub ustawia domyślną partycję dla magazynu.
Właściwość publiczna DemandLoading Pobiera się, czy magazyn znajduje się obecnie na żądanie ładowania relacji.
Właściwość publiczna Disposed Pobiera się, czy magazyn został usunięty.
Właściwość publiczna DomainDataDirectory Pobiera informacje domeny katalogu magazynu.
Właściwość publiczna DomainModels Zwraca kolekcję modeli domen, w tym Sklepie.
Właściwość publiczna ElementDirectory Pobiera katalogu elementów znajdujących się w magazynie.
Właściwość publiczna ElementFactory Pobiera factory elementu modelu.
Właściwość publiczna EventManagerDirectory Pobiera directory Menedżer zdarzeń dla modelu.
Właściwość publiczna Id Pobiera identyfikator magazynu.
Właściwość publiczna InRedo Pobiera magazynu i sprawdza, czy bieżący kontekst magazynu jest ponowione.
Właściwość publiczna InSerializationTransaction Wskazuje, że magazyn ma transakcji serializacji aktualnie aktywnych w stosie transakcji
Właściwość publiczna InUndo Pobiera magazynu i sprawdza, czy bieżący kontekst magazynu jest cofnięte.
Właściwość publiczna InUndoRedoOrRollback Pobiera magazynu i sprawdza, czy bieżący kontekst magazynu jest czym ponowione, cofnąć lub walcowane Wstecz.
Właściwość publiczna Partitions Pobiera obiektów zbioru partycji dla magazynu.
Właściwość publiczna PartitionsAlternate Pobiera partycje, używane w magazynie.
Właściwość publiczna PropertyBag Pobiera zbiór właściwości dla magazynu.
Właściwość publiczna RuleManager Pobiera Menedżera reguł dla magazynu.
Właściwość publiczna SerializerDirectory Domyślny katalog serializacji dla tego Sklepu
Właściwość publiczna ShuttingDown Pobiera magazynu i weryfikuje, czy Magazyn jest zamykany lub ustawia stan magazynu jako zamykana.
Właściwość publiczna TransactionActive Pobiera lub ustawia, czy magazyn ma aktualnie aktywnych transakcji.
Właściwość publiczna TransactionLogs Pobiera bieżącą listę dzienniki transakcji magazynu.
Właściwość publiczna TransactionManager Pobiera Menedżera transakcji dla modelu.
Właściwość publiczna UndoManager Pobiera UndoManager w kontekście domyślnym.
Właściwość publiczna Version Pobiera wersji magazynu.

Początek

Metody

  Nazwa Opis
Metoda publiczna AddMonikerResolver Zarejestrować IMonikerResolver dla modelu określonej domeny.
Metoda publiczna DefaultPartitionForClass Zwraca partycji, do którego należy utworzyć nowe elementy określonej klasy domyślnie.
Metoda publiczna Dispose Zbywa magazynu.
Metoda publiczna Equals Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone z Object).
Metoda chroniona Finalize Umożliwia obiekt spróbuj zwolnić zasoby i wykonywania innych operacji oczyszczania przed jest odzyskane w procesie wyrzucania elementów bezużytecznych. (Odziedziczone z Object).
Metoda publiczna FindDomainModel Wyszukuje modelu domeny według jego identyfikatora.
Metoda publiczna FindMonikerResolver Wyszukuje IMonikerResolver zarejestrowanych dla modelu określonej domeny.
Metoda publiczna GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) Tworzy prototyp grupy elementu domyślną partycję zamknięcia danego typu, jeżeli określono listę elementów głównych.
Metoda publiczna GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType, Boolean) Tworzy prototyp grupy element partycji domyślnej zamknięcia określonego typu, gdy wykaz głównych elementów i umożliwia pomijanie popytu załadunku.
Metoda publiczna GetDomainModel(Guid) Pobiera wystąpienia modelu domeny według jego identyfikatora.
Metoda publiczna GetDomainModel<T>() Pobiera wystąpienia typu model określonej domeny.
Metoda publiczna GetHashCode Służy jako domyślnej funkcji mieszania. (Odziedziczone z Object).
Metoda publiczna GetService Pobiera usługi.
Metoda publiczna GetType Pobiera Type bieżącego wystąpienia. (Odziedziczone z Object).
Metoda publiczna LoadDomainModels Tworzy wszystkie dane domeny dla określonej listy modeli domen.
Metoda chroniona MemberwiseClone Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object).
Metoda publiczna PopContext Usuwa bieżący kontekst off wierzchu stosu.
Metoda publiczna PushContext Umieszcza nowy kontekst na górze stosu kontekstu magazynu.
Metoda publiczna RegisterTransactionLog Umożliwia klientowi zarejestrować dziennika transakcji, który będzie powiadamiany o zdarzeniach w tym Sklepie.
Metoda publiczna ToString Zwraca ciąg, który reprezentuje bieżący obiekt. (Odziedziczone z Object).
Metoda publiczna UnregisterTransactionLog Umożliwia klientowi wyrejestrować dziennik transakcji powiadamiania o zdarzeniach w tym Sklepie.

Początek

Zdarzenia

  Nazwa Opis
Zdarzenie publiczne StoreDisposing Występuje, gdy sprzedaży/likwidacji magazynu.

Początek

Metody rozszerzenia

  Nazwa Opis
Publiczna metoda rozszerzenia GetLocks Get flagi blokady dla tego wystąpienia magazynu (Zdefiniowane przez ImmutabilityExtensionMethods).
Publiczna metoda rozszerzenia IsLocked Sprawdzić, czy ten magazyn ma żadnego określonego zestawu blokad (Zdefiniowane przez ImmutabilityExtensionMethods).
Publiczna metoda rozszerzenia SetLocks Ustawianie flag lock to wystąpienie magazynu (Zdefiniowane przez ImmutabilityExtensionMethods).

Początek

Uwagi

Magazyn zawiera informacje dotyczące jednego lub kilku modeli.Sklep może zawierać zbiór modeli, chociaż często istnieje tylko jeden model w magazynie.

Zawiera także magazynu metadanych o modelu i informacje o instancjach elementów i powiązań między elementy wchodzące w skład tego modelu.Metadane zawierają typy dozwolone w modelu i ich relacji.

Magazyn ma kilka struktur danych, które są wypełnione, gdy model jest ładowany do magazynu.Dzieje się tak w następujących okolicznościach:

  • gdy uruchamiany jest język specyficzne dla domeny, albo jako doświadczalnych budowanie

  • Kiedy została wdrożona język specyficzne dla domeny i użytkownik końcowy uruchamia go

  • Podczas ładowania modelu programowo w magazynie

DomainDataDirectory Zawiera metadane dotyczące typów może być w modelu.

ElementDirectory Zawiera informacje dotyczące każdego wystąpienia elementu i ich łączy.(Wystąpień w ElementDirectory musi być typów zdefiniowanych w DomainDataDirectory.)

Z magazynu można przejść do poszczególnych zapasów w magazynie.Można uzyskać informacje dotyczące elementów lub typów.Można również wykonać następujące zadania:

  • Dodawanie elementów

  • usuwanie elementów

  • modyfikowanie istniejących elementów i łączy oraz ich właściwości

Przy każdej modyfikacji magazynu należy ująć każdy kod, który zapisuje do magazynu w Transaction.Można anulować wszystkie zmiany w magazynie, dokonane w transakcji poprzez to Rollback transakcji lub nie wykonując Commit transakcji.

Magazyn został RuleManager zawierający funkcje subskrybować zasady.Magazyn można również subskrybować zdarzenia.

Magazyn ma również UndoManager który posiada elementy członkowskie, które umożliwiają cofanie i ponawianie zmian w magazynie.Zazwyczaj nie trzeba utworzyć nowe wystąpienie magazynu, chociaż można i odczytywać modelu do niego przez deserializacji modelu do nowego wystąpienia.Często, uzyskać dostęp do magazynu, z Store właściwość elementu lub łącza w modelu.Argumenty zdarzeń zasad i zdarzenia zapewniają wystąpienia elementu lub łącze, które reguły lub zdarzenie dotyczy i jego właściwości magazynu można użyć, aby uzyskać dostępu do magazynu i jego TransactionManager.

Przykłady

W poniższych przykładach przedstawiono różne sposoby tworzenia wystąpień Sklepu.Gdy istnieją zależności między modelami domeny, jak w trzecim przykładzie, który następuje, modelach domen powinny być określone w kolejności zależność.

// 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));

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Modeling

Inne zasoby

[redirect] — model domeny w generowanym API

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