Freigeben über


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.

Ee473439.note(de-de,VS.100).gifHinweis:
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.

Ee473439.note(de-de,VS.100).gifHinweis:
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)