EntityType (EDM)

In Entity Data Model (EDM) un oggetto EntityType rappresenta il modello struttura per un tipo di dati nel dominio dell'applicazione. Una dichiarazione di entità rappresenta in modo schematico un determinato tipo di dati. Lo schema viene utilizzato, senza codice o struttura della tabella, per specificare tutti i dettagli del tipo di dati. Al termine della progettazione, viene compilato un tipo di dati programmabile basato sulla progettazione.

Un oggetto EntityType EDM viene utilizzato per modellare un concetto di livello superiore, ad esempio un cliente, un ordine o un fornitore in un'applicazione aziendale. Ogni entità viene definita come EntityType in Conceptual Schema Definition Language (CSDL). In seguito alla definizione schematica di EntityType, questo diviene un'unità operativa per lo sviluppo di applicazioni. Ogni oggetto EntityType è concettualmente indipendente e ha un'identità univoca.

Proprietà e identità delle entità

Un oggetto EntityType disponibile in uno schema presenta un nome, proprietà e una proprietà Key che identifica il tipo di dati quando viene creata un'istanza dell'oggetto dal codice dell'applicazione.

La maggior parte delle informazioni su un oggetto EntityType è contenuta nelle relative proprietà. Una proprietà consiste nei dati di un SimpleType o ComplexType EDM. Le proprietà sono a valore singolo, anche se è possibile utilizzare un tipo NavigationProperty con un elemento Association per implementare una proprietà che funzioni come un insieme di elementi di dati. Per ulteriori informazioni sulle proprietà di navigazione, vedere Proprietà di navigazione (EDM) in EDM. Per ulteriori informazioni sulle associazioni, vedere Relazioni in Entity Data Model.

Proprietà

Una proprietà aggiunge informazioni a un oggetto EntityType definendo un nome univoco per un valore di un tipo di dati specificato. Per la proprietà è possibile specificare un nome e un tipo, nonché vincoli di accesso utilizzando gli attributi GetterAccess e SetterAccess. Il tipo di una proprietà viene selezionato tra quelli specificati come SimpleType in EDM.

I valori di tutte le proprietà, ad eccezione di quelle che fanno parte di una proprietà Key, possono essere Null. Nell'esempio seguente viene illustrata una dichiarazione di EntityType.

<EntityType Name="Person">
  <Key>
      <PropertyRef Name="EmailID"/>
  </Key>
  <Property Name="EmailID" Type="String" Nullable="false" />
  <Property Name="Name" Type="String" />
  <Property Name="Address" Type="String" />
  <Property Name="PhoneNumber" Type=" String"/>
</EntityType>

Nell'esempio la proprietà EmailID viene specificata come proprietà Key di questa entità. La proprietà Key non può essere Null, ovvero un'istanza di Person deve includere un identificatore di posta elettronica. La proprietà Key viene utilizzata per identificare istanze del tipo nelle applicazioni che la utilizzano.

EntityKey

Un oggetto EntityType deve definire una proprietà Key costituita da una o più proprietà definite per il tipo. Qualsiasi set di proprietà SimpleType può fungere da Key. Nessuna delle proprietà utilizzate in Key può essere Null nel codice dell'applicazione.

NoteNota

L'utilizzo di un tipo String come Key non costituisce una procedura consigliata per motivi di prestazioni e prevedibilità. Il significato di str1 == str2 è estremamente ambiguo.

Nell'esempio seguente viene illustrata l'assegnazione dell'attributo Key a una proprietà Key composta utilizzando due proprietà SimpleType:

<EntityType Name="Person">
   <Key>
      <PropertyRef Name="ContactId" />
      <PropertyRef Name="Name" />
   </Key>
      <Property Name="ContactId" Type="String" Nullable="false" />
      <Property Name="Name" Type="String" Nullable="false" />
      <Property Name="PhoneNumber" Type="String" />
</EntityType>

Vedere anche

Concetti

Tipi semplici (EDM)
Tipo complesso (EDM)
Tipi EDM (Entity Data Model)