Связывание экземпляров между пространствами имен
Класс представления ассоциаций позволяет использовать запросы ASSOCIATORS OF к классам, которые находятся в разных пространствах имен.
В следующей процедуре описывается, как связать экземпляры между пространствами имен.
Связывание экземпляров между пространствами имен
Начните определение класса с квалификатора строки связи .
Квалификаторы JoinOn, Association и Union являются взаимоисключающими.
Создайте запросы, определяющие исходные экземпляры, используемые в классе представления, с помощью квалификатора ViewSources .
Определите имена и расположение пространств имен, в которых находятся исходные экземпляры, с помощью квалификатора ViewSpaces .
Определите нужные свойства в классе представления ассоциации с помощью квалификатора PropertySources .
При необходимости можно пометить любое из свойств как принадлежащих исходному классу с помощью квалификатора HiddenDefault .
Пометьте все соответствующие свойства с помощью квалификатора 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;
};