PropertyRef-Element (CSDL)
Das PropertyRef-Element in konzeptioneller Schemadefinitionssprache (CSDL) verweist auf eine Eigenschaft eines Entitätstyps. So wird angegeben, dass die Eigenschaft eine der folgenden Rollen ausführt:
Ein Teil des Entitätsschlüssels (eine Eigenschaft oder ein Satz von Eigenschaften eines Entitätstyps, der die Identität bestimmt). Zur Definition eines Entitätsschlüssels können ein oder mehrere PropertyRef-Elemente verwendet werden. Weitere Informationen finden Sie unter Key-Element.
Das abhängige Ende oder Prinzipalende einer referenziellen Einschränkung. Weitere Informationen finden Sie unter ReferentialConstraint-Element.
Das PropertyRef-Element kann nur über Anmerkungselemente (0 (null) oder mehr) als untergeordnete Elemente verfügen.
Hinweis: |
---|
Anmerkungselemente sind nur in konzeptionellen Modellen für Anwendungen zulässig, die auf .NET Framework, Version 4 oder später, abzielen.Der XML-Namespace für diese Modelle ist https://schemas.microsoft.com/ado/2008/09/edm. |
Anwendbare Attribute
In der folgenden Tabelle werden die Attribute beschrieben, die für das PropertyRef-Element übernommen werden können.
Attributname | Ist erforderlich | Wert |
---|---|---|
Name |
Ja |
Der Name der referenzierten Eigenschaft. |
Hinweis: |
---|
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das PropertyRef-Element übernommen werden.Benutzerdefinierte Attribute dürfen jedoch zu keinem XML-Namespace gehören, der für CSDL reserviert ist.Die vollqualifizierten Namen für zwei benutzerdefinierte Attribute dürfen nicht übereinstimmen. |
Beispiel
Im folgenden Beispiel wird ein Entitätstyp mit dem Namen (Book) definiert. Der Entitätsschlüssel wird definiert, indem auf die ISBN-Eigenschaft des Entitätstyps verwiesen wird.
<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>
Im nächsten Beispiel werden zwei PropertyRef-Elemente zur Angabe verwendet, dass zwei Eigenschaften (Id und PublisherId) das Prinzipalende und das abhängige Ende einer referenziellen Einschränkung bilden.
<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>
Siehe auch
Konzepte
Übersicht über das Entity Framework
CSDL-Spezifikation
Schema-Element (CSDL)
Weitere Ressourcen
CSDL-, SSDL- und MSL-Spezifikationen
ADO.NET Entity Data Model Tools
entity key (Entity Data Model)