Атрибут Role (элемент Association, язык SSDL)
В модели Entity Data Model (модель EDM) атрибут Role элемента End задает сущности, связываемые с помощью ассоциации и их функций. В примере из этого раздела ассоциация служит для подключения сущностей Employee на основе связи «руководитель — сотрудник». Оба элемента ассоциации имеют один и тот же тип, указанный назначением Type="AdventureWorks.Store.Employee"
.
Атрибут Role позволяет отличить подчиненного сотрудника от менеджера. Атрибут Multiplicity указывает, что сотрудник Employee, являющийся менеджером, может участвовать в нескольких экземплярах ассоциации такого типа (или ни в одном), но сотрудник Employee1 может иметь только одного менеджера и участвовать только в одной ассоциации этого типа. Это указание кратности относится к связи, определяемой внешним ключом в таблице Employee, который может содержать только один идентификатор ManagerID.
<Association Name="FK_Employee_Employee_ManagerID">
<End Role="Employee" Type="Adventureworks.Store.Employee" Multiplicity="0..1" />
<End Role="Employee1" Type="Adventureworks.Store.Employee" Multiplicity="*" />
<ReferentialConstraint>
<Principal Role="Employee">
<PropertyRef Name="EmployeeID" />
</Principal>
<Dependent Role="Employee1">
<PropertyRef Name="ManagerID" />
</Dependent>
</ReferentialConstraint>
</Association>
См. также
Основные понятия
Элемент Association (язык SSDL)
Атрибут Role (элемент Association, язык SSDL)
Полная модель AdventureWorks (модель EDM)