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


Элемент PropertyRef (модель CSDL)

Элемент PropertyRef языка CSDL ссылается на свойство типа сущности и указывает, что свойство будет выступать в одной из следующих ролей:

  • Часть ключа сущности (является свойством или набором свойств типа сущности, которые определяют идентификатор). Один или несколько элементов PropertyRef могут использоваться для определения ключа сущности. Дополнительные сведения см. в разделе Элемент Key.

  • Зависимый или основной конец справочного ограничения. Дополнительные сведения см. в разделе Элемент ReferentialConstraint.

У элемента PropertyRef в качестве дочерних могут быть только элементы annotation (от нуля и более).

Ee473439.note(ru-ru,VS.100).gifПримечание
Элементы annotation допускаются только в концептуальных моделях для приложений, которые предназначены для версии .NET Framework 4 или более поздней.Пространством имен XML для таких моделей является https://schemas.microsoft.com/ado/2008/09/edm.

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

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

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

Name

Да

Имя свойства, на которое дается ссылка.

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

Пример

В следующем примере определяется тип сущности (Book). Ключ сущности определяется ссылкой на свойство ISBN типа сущности.

<EntityType Name="Book">
  <Key>
    <PropertyRef Name="ISBN" />
  </Key>
  <Property Type="String" Name="ISBN" Nullable="false" />
  <Property Type="String" Name="Title" Nullable="false" />
  <Property Type="Decimal" Name="Revision" Nullable="false" Precision="29" Scale="29" />
  <NavigationProperty Name="Publisher" Relationship="BooksModel.PublishedBy"
                      FromRole="Book" ToRole="Publisher" />
  <NavigationProperty Name="Authors" Relationship="BooksModel.WrittenBy"
                      FromRole="Book" ToRole="Author" />
</EntityType>

В следующем примере используются два элемента PropertyRef, которые указывают, что два свойства (Id и PublisherId) являются основным и зависимым элементами справочного ограничения.

<Association Name="PublishedBy">
  <End Type="BooksModel.Book" Role="Book" Multiplicity="*" >
  </End>
  <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
  <ReferentialConstraint>
    <Principal Role="Publisher">
      <PropertyRef Name="Id" />
    </Principal>
    <Dependent Role="Book">
      <PropertyRef Name="PublisherId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

См. также

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

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

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

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