导航属性 (EDM)

在 实体数据模型 (EDM) 中,导航属性是快捷方式属性,用于定位位于关联各端的实体。有关关联的更多信息,请参见关联 (EDM)

属性包含实体要提供的信息。导航属性描述关联之间的可导航路径。例如,在 Customer 实体与 Order 实体之间的关联中,Customer 实体可以声明名为 OrdersNavigationProperty,以表示与该特定 Customer 实例关联的 Order 实例。从 CustomerOrder 的实例中,借助于 NavigationProperty,可以定位位于关联另一端的实例。

在 EDM 中,集合的功能通过使用导航属性和关联来实现。Customer 实体上名为 OrdersNavigationProperty 的工作方式类似于集合。当生成以下架构时,对象模型将在 Orders 属性上包含 Add 方法。可以通过使用此方法添加 Order 实体的新实例。可以在循环中枚举 Orders NavigationProperty,就像 .NET Framework 集合一样。

以下架构节选显示如何在 CustomerOrder 实体上创建导航属性:

<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.->

此示例只显示 CustomerOrder 上的导航属性的架构定义。有关将关联属性和导航属性映射到存储的信息,请参见实现关联 (EDM)

另请参见

概念

形成查询结果(实体框架)
关联 (EDM)
架构 (EDM)
NavigationProperty 元素 (EntityType CSDL)

其他资源

架构和映射规范(实体框架)