Прочитать на английском

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


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

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

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

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

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

    JoinOn, ,и 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;
};