Элемент PropertyRef (модель CSDL)
Элемент PropertyRef языка CSDL ссылается на свойство типа сущности и указывает, что свойство будет выступать в одной из следующих ролей:
Часть ключа сущности (является свойством или набором свойств типа сущности, которые определяют идентификатор). Один или несколько элементов PropertyRef могут использоваться для определения ключа сущности. Дополнительные сведения см. в разделе Элемент Key.
Зависимый или основной конец справочного ограничения. Дополнительные сведения см. в разделе Элемент ReferentialConstraint.
У элемента PropertyRef в качестве дочерних могут быть только элементы annotation (от нуля и более).
Примечание |
---|
Элементы annotation допускаются только в концептуальных моделях для приложений, которые предназначены для версии .NET Framework 4 или более поздней.Пространством имен XML для таких моделей является https://schemas.microsoft.com/ado/2008/09/edm. |
Применимые атрибуты
В таблице ниже описываются атрибуты, которые можно применить к элементу PropertyRef.
Имя атрибута | Необходимо | Значение |
---|---|---|
Name |
Да |
Имя свойства, на которое дается ссылка. |
Примечание |
---|
К элементу 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)