EntityType 要素 (CSDL)
EntityType 要素は、概念モデルのトップレベル概念 (顧客や発注など) の構造を表します。エンティティ型は、アプリケーションのエンティティ型インスタンス用テンプレートです。各テンプレートには、次の情報が含まれています。
一意の名前 (必須)。
1 つ以上のプロパティにより定義されるエンティティ キー (必須)。
データ格納用のプロパティ (省略可能)
アソシエーションの 1 つの End から別の End へのナビゲーションを可能にするナビゲーション プロパティ (省略可能)
アプリケーションでは、エンティティ型のインスタンスが特定のオブジェクト (特定の顧客や注文など) を表します。エンティティ型の各インスタンスに対して、エンティティ セット内のエンティティ キーを一意にする必要があります。
2 つのエンティティ型のインスタンスは、型が同じであり、エンティティ キーの値が等しい場合にのみ、等価のインスタンスと見なされます。
EntityType 要素には、ここに示した順序で次の子要素を含めることができます。
Documentation (0 個または 1 個の要素)
Key (0 個または 1 個の要素)
Property (0 個以上の要素)
NavigationProperty (0 個以上の要素)
Annotation 要素 (0 個以上の要素)
適用可能な属性
EntityType 要素に適用できる属性を次の表に示します。
属性名 |
必須 |
値 |
---|---|---|
Name |
はい |
エンティティ型の名前。 |
BaseType |
いいえ |
別のエンティティ型の名前。この型が定義中のエンティティ型の基本型です。 |
Abstract |
いいえ |
エンティティ型が抽象型かどうかに応じて、True または False。 |
OpenType |
いいえ |
エンティティ型がオープンなエンティティ型かどうかに応じて、True または False。 ![]()
OpenType 属性が適用されるのは、WCF Data Services で使用される概念モデルで定義されるエンティティ型だけです。
|
注意
EntityType 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。ただし、カスタム属性は CSDL 用に予約されたどの XML 名前空間にも属さない場合があります。カスタム属性の完全修飾名は一意である必要があります。
例
次の例では、3 個の Property 要素と 2 個の NavigationProperty 要素を持つ EntityType 要素を示します。
<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>