Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una propiedad de navegación es una propiedad opcional en un tipo de entidad que permite la navegación desde un extremo de una asociación al otro extremo. A diferencia de otras propiedades, las propiedades de navegación no llevan datos.
Una definición de propiedad de navegación incluye lo siguiente:
Un nombre. (Requerido)
Asociación que navega. (Requerido)
Extremos de la asociación que navega. (Requerido)
Las propiedades de navegación son opcionales en ambos tipos de entidad al final de una asociación. Si define una propiedad de navegación en un tipo de entidad al final de una asociación, no tiene que definir una propiedad de navegación en el tipo de entidad al otro extremo de la asociación.
El tipo de datos de una propiedad de navegación viene determinado por la multiplicidad de su extremo de asociación remota. Por ejemplo, supongamos que existe una propiedad de navegación, OrdersNavProp, en un Customer tipo de entidad y navega por una asociación de uno a varios entre Customer y Order. Dado que el extremo de asociación remota de la propiedad de navegación tiene multiplicidad de muchos (*), su tipo de datos es una colección (de Order). Del mismo modo, si existe una propiedad de navegación, CustomerNavProp, existe en el Order tipo de entidad, su tipo de datos sería Customer, porque la multiplicidad del extremo remoto es una (1).
Ejemplo
En el diagrama siguiente se muestra un modelo conceptual con tres tipos de entidad: Book, Publishery Author. Las propiedades Publisher de navegación y Authors se definen en el tipo de entidad Book. La propiedad Books de navegación se define en el tipo de entidad Publisher y en el tipo de Author entidad.
El ADO.NET Entity Framework usa un lenguaje específico del dominio (DSL) denominado lenguaje de definición de esquema conceptual (CSDL) para definir modelos conceptuales. El siguiente CSDL define el Book tipo de entidad que se muestra en el diagrama anterior:
<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>
Los atributos XML se usan para comunicar la información necesaria para definir una propiedad de navegación: el atributo Name contiene el nombre de la propiedad, Relationship contiene el nombre de la asociación que navega y FromRoleToRole contienen los extremos de la asociación.