Condividi tramite


Proprietà di navigazione (EDM)

In Entity Data Model (EDM) le proprietà di navigazione sono proprietà di collegamento utilizzate per individuare le entità finali di un'associazione. Per ulteriori informazioni sulle associazioni, vedere Associazione (EDM).

Le proprietà contengono le informazioni che un'entità è progettata per fornire. Le proprietà di navigazione descrivono i percorsi esplorabili tra le associazioni. In un'associazione tra entità Customer e Order, ad esempio, l'entità Customer può dichiarare un oggetto NavigationProperty denominato Orders per rappresentare le istanze di Order associate a quella particolare istanza di Customer. Da un'istanza di Customer o di Order, NavigationProperty consente di trovare l'istanza all'altra estremità dell'associazione.

In EDM la funzionalità relativa agli insiemi è implementata utilizzando proprietà di navigazione e associazioni. L'oggetto NavigationProperty denominato Orders nell'entità Customer funziona come un insieme. Quando viene compilato lo schema seguente, il modello a oggetti conterrà un metodo Add nella proprietà Orders. Le nuove istanze dell'entità Order vengono aggiunte utilizzando il metodo. Gli oggetti NavigationPropertyOrders possono essere enumerati in cicli come gli insiemi .NET Framework.

Nell'estratto di schema seguente viene illustrato come creare le proprietà di navigazione nelle entità Customer e Order:

<EntityType Name="Customer" >
    <Key>
      <PropertyRef Name=" CustomerId " />
    </Key>
    <Property Name="CustomerId" Type="Guid" Nullable="false" />
    ...
    <NavigationProperty Name="Orders" Relationship=Namespace.CustomerOrderType"
          FromRole="Customer" ToRole="Orders"/>
</EntityType>

<EntityType Name="Order" Key="OrderId">
    ...
    <NavigationProperty Name="OrderedBy" Relationship="Namespace.Customer_Order"
          FromRole="Order" ToRole="Customer" />
</EntityType>

<Association Name="Customer_Order">
    <End Role="Customer" Type="Namespace.Customers" Multiplicity="1" />
    <End Role="Orders" Type="Namespace.Order" Multiplicity="0..*" />
</Association>
<!— Use a fully qualified name for the association in a Navigation Property.->

In questo esempio viene illustrata solo la definizione di schema per le proprietà di navigazione in Customer e Order. Per informazioni sul mapping delle proprietà di associazione e di navigazione all'archivio, vedere Implementazione delle associazioni (EDM).

Vedere anche

Concetti

Determinazione della struttura dei risultati di query (Entity Framework)
Associazione (EDM)
Schemi (EDM)
Elemento NavigationProperty (EntityType CSDL)

Altre risorse

Specifica di schemi e mapping (Entity Framework)