注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

导航属性(实体数据模型)  

2013-09-29 15:41:11|  分类: Entity Framework |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

“导航属性”实体类型上的可选属性,它允许从关联的一导航到另一端。 与其他属性不同,导航属性并不携带数据。

导航属性定义包含以下信息:

  • 名称。 (必需) 

  • 导航属性要导航的关联。 (必需) 

  • 导航属性要导航的关联端。 (必需) 

请注意,对于关联各端的两种实体类型,导航属性都是可选的。 如果对关联一端的某实体类型定义导航属性,则不需要对关联另一端的该实体类型定义导航属性。

导航属性的数据类型由其远程关联端重数决定。 例如,假设导航属性 OrdersNavProp 存在于 Customer 实体类型上并导航 Customer 与 Order 之间的一对多关联。 因为导航属性的远程关联端的重数为多 (*),所以其数据类型是一个集合(属于 Order)。 同样,如果导航属性 CustomerNavProp 存在于 Order 实体类型上,但由于远程端的重数为“一 (1)”,所以其数据类型应为 Customer

示例

下图显示了一个具有三个实体类型的概念模型:BookPublisher 和 Author 导航属性 Publisher 和 Authors 都是在 Book 实体类型上定义的。 导航属性 Books 是同时在 Publisher 实体类型和 Author 实体类型上定义的。

具有导航属性的模型

ADO.NET Entity Framework使用一种称为概念架构定义语言 (CSDL) 的域特定语言 (DSL) 来定义概念模型。 下面的 CSDL 定义了上图中显示的 Book 实体类型。

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

请注意,XML 特性用于传达定义导航属性所需的信息:特性 Name 包含属性的名称,Relationship 包含属性要导航的关联名称,而 FromRole 和 ToRole 则包含关联各端。

另请参见


转自:http://technet.microsoft.com/zh-CN/library/ee382841(v=vs.100)
  评论这张
 
阅读(604)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017