Elemento PropertyRef (CSDL)
L'elemento PropertyRef in Conceptual Schema Definition Language (CSDL) fa riferimento a una proprietà di un tipo di entità per indicare che la proprietà eseguirà uno dei ruoli seguenti:
Parte della chiave di entità (una proprietà o un set di proprietà di un tipo di entità che determinano l'identità). È possibile utilizzare uno o più elementi PropertyRef per definire una chiave di entità. Per ulteriori informazioni, vedere 0cdb1402-dbc7-4a04-a11e-5729cdf7431b.
L'entità finale dipendente o principale di un vincolo referenziale. Per ulteriori informazioni, vedere Elemento ReferentialConstraint.
L'elemento PropertyRef può disporre solo di elementi di annotazione (zero o più) come elementi figlio.
Nota: |
---|
L'utilizzo di elementi Annotation è consentito solo in modelli concettuali per applicazioni che sono destinate a .NET Framework versione 4 o successive.Lo spazio dei nomi XML per tali modelli è https://schemas.microsoft.com/ado/2008/09/edm. |
Attributi applicabili
Nella tabella riportata di seguito vengono descritti gli attributi che è possibile applicare all'elemento PropertyRef.
Nome attributo | È obbligatorio | Valore |
---|---|---|
Name |
Sì |
Nome della proprietà alla quale viene fatto riferimento. |
Nota: |
---|
È possibile applicare un qualsiasi numero di attributi di annotazione (attributi XML personalizzati) all'elemento PropertyRef.Tuttavia, gli attributi personalizzati non possono appartenere ad alcuno spazio dei nomi XML riservato a CSDL.I nomi completi per due attributi personalizzati qualsiasi non possono essere uguali. |
Esempio
Nell'esempio seguente viene definito un tipo di entità denominato Book. La chiave di entità viene definita facendo riferimento alla proprietà ISBN del tipo di entità.
<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>
Nell'esempio successivo vengono utilizzati due elementi PropertyRef per indicare che due proprietà (Id e PublisherId) sono le entità finali principale e dipendente di un vincolo referenziale.
<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>
Vedere anche
Concetti
Panoramica su Entity Framework
Specifiche CSDL
Elemento Schema (CSDL)
Altre risorse
Specifiche CSDL, SSDL e MSL
ADO.NET Entity Data Model Tools
entity key (Entity Data Model)