Поделиться через


Связывание экземпляров между пространствами имен

Класс представления ассоциаций позволяет использовать запросы ASSOCIATORS OF к классам, которые находятся в разных пространствах имен.

В следующей процедуре описывается, как связать экземпляры между пространствами имен.

Связывание экземпляров между пространствами имен

  1. Начните определение класса с квалификатора строки связи .

    Квалификаторы JoinOn, Association и Union являются взаимоисключающими.

  2. Создайте запросы, определяющие исходные экземпляры, используемые в классе представления, с помощью квалификатора ViewSources .

  3. Определите имена и расположение пространств имен, в которых находятся исходные экземпляры, с помощью квалификатора ViewSpaces .

  4. Определите нужные свойства в классе представления ассоциации с помощью квалификатора PropertySources .

    При необходимости можно пометить любое из свойств как принадлежащих исходному классу с помощью квалификатора HiddenDefault .

  5. Пометьте все соответствующие свойства с помощью квалификатора Direct .

    Квалификатор Direct запрещает поставщику представлений сопоставлять ссылку на связь с тегами ссылке на представление.

В следующих примерах кода показано, как создавать классы представлений ассоциаций.

[union,
ViewSources {"SELECT * FROM Win32_OperatingSystem"},
    ViewSpaces {"\\\\.\\root\\cimv2"},
    dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
]
class Union_OS_For_AssociationExample
{
    [key, PropertySources{"Name"}]
    string Name;

    [PropertySources{"Version"}]
    string Version;

    [PropertySources{"BuildNumber"}]
    string BuildNumber;
};

[
Association,
ViewSources {"SELECT * FROM Win32_SystemOperatingSystem"}, 
ViewSpaces {"\\\\.\\root\\cimv2"},
dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
]
class Association_SystemViewOperatingSystem
{
    [Direct, key, PropertySources{"GroupComponent"}]
    Win32_ComputerSystem ref Computer;
    
    [key, PropertySources{"PartComponent"}]
    Union_OS_For_AssociationExample ref OperatingSystem;
};