共用方式為


瀏覽屬性

導覽屬性實體類型的選擇性屬性,允許從關聯巡覽到另一端。 與其他 屬性不同,導覽屬性不會攜帶數據。

導覽屬性定義包括以下項目:

  • 名稱。 (必要項)

  • 它所導航的關聯。 (必要項)

  • 其巡覽之關聯的結尾。 (必要項)

關聯末端的兩個實體類型都具有選擇性的導覽屬性。 如果您在關聯結尾的一個實體類型上定義導覽屬性,就不需要在關聯另一端的實體類型上定義導覽屬性。

導覽屬性的數據類型取決於其遠端關聯端多重性。 例如,假設在實體類型 OrdersNavProp 上有一個名為 Customer 的導覽屬性,它在 CustomerOrder 之間導航一對多的關聯。 導覽屬性的遠端關聯端因具有多重性(*),其資料類型為 Order 的集合。 同樣地,如果導覽屬性 CustomerNavProp存在於實體類型上 Order ,其數據類型會是 Customer,因為遠端端的多重性是一個 (1)。

範例

下圖顯示具有三種實體類型的概念模型: BookPublisherAuthor。 導覽屬性 PublisherAuthors 定義於 Book 實體類型上。 導覽屬性 Books 定義於 Publisher 實體類型和 Author 實體類型上。

此圖顯示具有三種實體類型的概念模型。

ADO.NET Entity Framework 會使用稱為概念架構定義語言 (CSDL) 的網域特定語言 (DSL) 來定義概念模型。 下列 CSDL 定義如上圖所示的實體類型:

<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 關聯結尾。

另請參閱