Элемент End (язык SSDL)

Элемент End в языке SSDL определяет таблицу и число строк на одной конечной точке ограничения внешнего ключа в основной базе данных. Элемент End может быть дочерним элементом элемента Association или элемента AssociationSet. В каждом из этих случаев дочерние элементы и применимые атрибуты будут различными.

Элемент End как дочерний по отношению к элементу Association

Элемент End (как дочерний элемент элемента Association) задает таблицу и число строк для элемента ограничения внешнего ключа с соответствующими атрибутами Type и Multiplicity. Элементы ограничения внешнего ключа определяются как часть ассоциации SSDL. Ассоциация SSDL должна содержать ровно два элемента.

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

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

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

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

Type

Да

Полное имя набора сущностей языка SSDL на конце ограничения внешнего ключа.

Role

Нет

Значение атрибута Role в элементе Principal или Dependent соответствующего элемента ReferentialConstraint (если есть).

Multiplicity

Да

Значение 1, 0..1 или * — в зависимости от числа строк, которые могут находится на конце ограничения внешнего ключа.

  • Значение 1 показывает, что на конце ограничения внешнего ключа существует ровно одна строка.

  • Значение 0..1 показывает, что на конце ограничения внешнего ключа существует от нуля до одной строки.

  • Значение * показывает, что на конце ограничения внешнего ключа существует ноль, одна или более строк.

Bb896336.note(ru-ru,VS.100).gifПримечание
К элементу End может быть применено любое количество атрибутов annotation (настраиваемых атрибутов XML).Однако настраиваемые атрибуты не могут принадлежать к любому пространству имен XML, зарезервированному для CSDL.Полные имена любых двух настраиваемых атрибутов не могут совпадать.

Пример

В следующем примере показан элемент Association, определяющий ограничение внешнего ключа FK_CustomerOrders. Значения Multiplicity, заданные для каждого элемента End ассоциации, указывают на то, что многие строки в таблице Orders могут быть связаны со строкой в таблице Customers, но только одна строка таблицы Customers может быть связана со строкой таблицы Orders. Кроме того, элемент OnDelete указывает на то, что все строки в таблице Orders, которая ссылается на отдельную строку в таблице Customers, будут удалены, если удаляется строка в таблице Customers.

<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>

Элемент End как дочерний по отношению к элементу AssociationSet

Элемент End (как дочерний элемент элемента AssociationSet) задает таблицу на одном конце ограничения внешнего ключа в основной базе данных.

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

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

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

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

EntitySet

Да

Имя набора сущностей языка SSDL на конце ограничения внешнего ключа.

Role

Нет

Значение одного атрибута Role, заданного для элемента End соответствующего элемента Association.

Bb896336.note(ru-ru,VS.100).gifПримечание
К элементу End может быть применено любое количество атрибутов annotation (настраиваемых атрибутов XML).Однако настраиваемые атрибуты не могут принадлежать к любому пространству имен XML, зарезервированному для CSDL.Полные имена любых двух настраиваемых атрибутов не могут совпадать.

Пример

В следующем примере рассматривается элемент EntityContainer с элементом AssociationSet, содержащим два элемента End.

<EntityContainer Name="ExampleModelStoreContainer">
  <EntitySet Name="Customers" 
             EntityType="ExampleModel.Store.Customers" 
             Schema="dbo" />
  <EntitySet Name="Orders" 
             EntityType="ExampleModel.Store.Orders" 
             Schema="dbo" />
  <AssociationSet Name="FK_CustomerOrders" 
                  Association="ExampleModel.Store.FK_CustomerOrders">
    <End Role="Customers" EntitySet="Customers" />
    <End Role="Orders" EntitySet="Orders" />
  </AssociationSet>
</EntityContainer>

См. также

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

Общие сведения о платформе Entity Framework
Спецификация языка SSDL

Другие ресурсы

Спецификации языка CSDL, SSDL и MSL
ADO.NET Entity Data Model Tools