Condividi tramite


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.

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

Nome della proprietà alla quale viene fatto riferimento.

Ee473439.note(it-it,VS.100).gifNota:
È 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)