Элемент Principal (модель SSDL)
Элемент Principal в языке SSDL является дочерним элементом элемента ReferentialConstraint, который определяет основной конец ограничения внешнего ключа (также называемого справочным ограничением). Элемент Principal определяет столбец первичного ключа (или столбцы) в таблице, на которую ссылается другой столбец (или столбцы). Элементы PropertyRef указывают, на какие столбцы существуют ссылки. Элемент Dependent определяет столбцы со ссылкой на столбцы внешнего ключа, заданные в элементе Principal.
Элемент Principal может иметь следующие дочерние элементы (в порядке перечисления):
PropertyRef (один или несколько)
Элементы Annotation (ноль или больше)
Применимые атрибуты
В следующей таблице описываются атрибуты, которые можно применить к элементу Principal.
Имя атрибута | Необходимо | Значение |
---|---|---|
Role |
Да |
То же самое значение, что и у атрибута Role (если он используется) соответствующего элемента End. В противном случае — имя таблицы, содержащей ссылочный столбец. |
Примечание |
---|
К элементу Principal может быть применено любое количество атрибутов annotation (настраиваемых атрибутов XML).Однако настраиваемые атрибуты не могут принадлежать к любому пространству имен XML, зарезервированному для CSDL.Полные имена любых двух настраиваемых атрибутов не могут совпадать. |
Пример
В следующем примере показан элемент Association, который использует элемент ReferentialConstraint для указания столбцов, участвующих в ограничении внешнего ключа FK_CustomerOrders. Элемент Principal определяет столбец CustomerId таблицы Customer как основной конец ограничения.
<Association Name="FK_CustomerOrders">
<End Role="Customers"
Type="ExampleModel.Store.Customers" Multiplicity="1">
<OnDelete Action="Cascade" />
</End>
<End Role="Orders"
Type="ExampleModel.Store.Orders" Multiplicity="*" />
<ReferentialConstraint>
<Principal Role="Customers">
<PropertyRef Name="CustomerId" />
</Principal>
<Dependent Role="Orders">
<PropertyRef Name="CustomerId" />
</Dependent>
</ReferentialConstraint>
</Association>
См. также
Основные понятия
Общие сведения о платформе Entity Framework
Спецификация языка SSDL
Другие ресурсы
Спецификации языка CSDL, SSDL и MSL
ADO.NET Entity Data Model Tools