Share via


Propiedades de navegación (EDM)

En el Entity Data Model (EDM), las propiedades de navegación son propiedades de acceso directo que se emplean para localizar las entidades en los extremos de una asociación. Para obtener más información acerca de las asociaciones, vea Asociación (EDM).

Las propiedades contienen la información que una entidad proporciona según su diseño. Las propiedades de navegación describen rutas navegables entre las asociaciones. Por ejemplo, en una asociación entre las entidades Customer y Order, la entidad Customer puede declarar una NavigationProperty denominada Orders para representar las instancias de Order asociadas a esa instancia de Customer especial. Desde una instancia de Customer o de Order, la NavigationProperty permite localizar la instancia en el otro extremo de la asociación.

En el EDM, la funcionalidad de las colecciones se implementa mediante propiedades de navegación y asociaciones. La NavigationProperty denominada Orders en la entidad Customer funciona como una colección. Cuando se cree el esquema siguiente, el modelo de objetos contendrá un método Add en la propiedad Orders. Las instancias nuevas de la entidad Order se agregan mediante el método. La Orders NavigationProperty puede enumerarse en bucles igual que las colecciones de .NET Framework.

En el extracto del esquema siguiente se muestra cómo crear propiedades de navegación en las entidades Customer y 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.->

En este ejemplo sólo se muestra la definición del esquema para las propiedades de navegación en las entidades Customer y Order. Para obtener más información sobre la asignación de las propiedades de navegación y las asociaciones al almacenamiento, vea Implementar asociaciones (EDM).

Vea también

Conceptos

Dar forma a los resultados de la consulta (Entity Framework)
Asociación (EDM)
Esquemas EDM
Elemento NavigationProperty (CSDL EntityType)

Otros recursos

Especificación de asignaciones y esquemas (Entity Framework)