共用方式為


實體類型 (EDM)

在 實體資料模型 (EDM) 中,EntityType 是應用程式定義域內某個資料型別的設計範本。實體宣告會以結構描述的方式代表特定資料型別。資料表結構或程式碼會以不妨害的方式使用結構描述,以指定此資料型別的所有詳細資料。在設計完成之後,將會在此設計上建置可程式化資料型別。

EDM EntityType 是用來塑造商務應用程式中的最上層概念,例如客戶、訂單或供應商。每一個實體都會在概念結構定義語言 (CSDL) 中定義為 EntityType。在以結構描述的方式定義 EntityType 之後,它就會變成應用程式開發的作業單位。每一個 EntityType 在概念上都是獨立的,而且都有唯一的識別。

編輯屬性和識別

當應用程式程式碼將結構描述內的 EntityType 具現化時,它會有名稱、屬性和識別資料型別的 Key 屬性。

大多數有關 EntityType 的資訊都是由它的屬性所包含。屬性是 EDM SimpleTypeComplexType 的資料。屬性是單一值,但是 NavigationProperty 型別可與 Association 一起使用以實作屬性,其作用如同資料項目的集合。如需導覽屬性的詳細資訊,請參閱 EDM 中的導覽屬性 (EDM)。如需關聯的詳細資訊,請參閱 Entity Data Model 關聯性

屬性

屬性會為指定之資料型別的值定義唯一名稱,藉此將資訊加入至 EntityType。屬性 (Property) 規格由名稱及型別組成,並且可使用 GetterAccessSetterAccess 屬性 (Attribute) 指定存取限制式。屬性的型別是從指定為 EDM SimpleType 的屬性中選取而來。

除了參與 Key 的屬性以外,所有屬性的值都會是 Null。下列範例示範的是 EntityType 的宣告。

<EntityType Name="Person">
  <Key>
      <PropertyRef Name="EmailID"/>
  </Key>
  <Property Name="EmailID" Type="String" Nullable="false" />
  <Property Name="Name" Type="String" />
  <Property Name="Address" Type="String" />
  <Property Name="PhoneNumber" Type=" String"/>
</EntityType>

在此範例中,EmailID 屬性被指定為這個實體中的 Key 屬性。索引鍵不能是 Null,也就是 Person 執行個體 (Instance) 必須有電子郵件識別項。Key 是用來識別使用它之應用程式中的型別執行個體。

實體索引鍵

EntityType 必須定義 Key,它是由為那個型別定義的一個或多個屬性所組成。任何一組 SimpleType 屬性都可以當做 KeyKey 所使用的所有屬性在應用程式程式碼中皆不得為 Null

Note附註

因為效能及可預測性的關係而將 String 型別當做 Key 並不是很好的作法;str1 == str2 的意思非常模稜兩可。

下列範例示範的是使用兩個 SimpleType 屬性 (Property) 將 Key 屬性 (Attribute) 指派給複合 Key

<EntityType Name="Person">
   <Key>
      <PropertyRef Name="ContactId" />
      <PropertyRef Name="Name" />
   </Key>
      <Property Name="ContactId" Type="String" Nullable="false" />
      <Property Name="Name" Type="String" Nullable="false" />
      <Property Name="PhoneNumber" Type="String" />
</EntityType>

另請參閱

概念

簡單型別 (EDM)
複雜類型 (EDM)
Entity Data Model 類型