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


Элемент Principal (модель SSDL)

Элемент Principal в языке SSDL является дочерним элементом элемента ReferentialConstraint, который определяет основной конец ограничения внешнего ключа (также называемого справочным ограничением). Элемент Principal определяет столбец первичного ключа (или столбцы) в таблице, на которую ссылается другой столбец (или столбцы). Элементы PropertyRef указывают, на какие столбцы существуют ссылки. Элемент Dependent определяет столбцы со ссылкой на столбцы внешнего ключа, заданные в элементе Principal.

Элемент Principal может иметь следующие дочерние элементы (в порядке перечисления):

Применимые атрибуты

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

Имя атрибута Необходимо Значение

Role

Да

То же самое значение, что и у атрибута Role (если он используется) соответствующего элемента End. В противном случае — имя таблицы, содержащей ссылочный столбец.

Ee705456.note(ru-ru,VS.100).gifПримечание
К элементу 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