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


Атрибут Role (Association, язык CSDL)

В модели Entity Data Model (EDM) атрибут Role тега <Association> указывает сущности, связанные с ассоциацией. Ассоциация в следующем примере соединяет сущности Employee на основе связи «сотрудник — менеджер». Оба элемента ассоциации имеют один и тот же тип, указанный назначением Type="AdventureWorksModel.Employee".

Атрибут Role позволяет отличить подчиненного сотрудника от менеджера. Атрибут Multiplicity указывает, что сотрудник Employee, являющийся менеджером, может участвовать в нескольких экземплярах ассоциации такого типа (или ни в одном), но сотрудник Employee1 может иметь только одного менеджера и участвовать только в одной ассоциации этого типа. Это указание кратности относится к связи, определяемой внешним ключом в таблице Employee, который может содержать только один идентификатор ManagerID.

<Association Name="Employee_Employee_ManagerID">
    <End Role="Employee" Type="AdventureWorksModel.Employee"
                                               Multiplicity="0..1" />
    <End Role="Employee1" Type="AdventureWorksModel.Employee"
                                               Multiplicity="*" />
</Association>

См. также

Основные понятия

Элемент Association (язык SSDL)
Атрибут Role (элемент Association, язык SSDL)
Полная модель AdventureWorks (модель EDM)