次の方法で共有


PropertyRef 要素 (CSDL)

概念スキーマ定義言語 (CSDL) の PropertyRef 要素は、エンティティ型のプロパティを参照して、そのプロパティが次の役割のいずれかを果たすことを示します。

  • エンティティのキー (ID を指定するエンティティ型のプロパティまたは一連のプロパティ) の一部。PropertyRef 要素を 1 つ以上使用して、エンティティ キーを定義することができます。詳細については、「Key 要素」を参照してください。

  • 参照制約の依存 End または プリンシパル End。詳細については、「ReferentialConstraint 要素」を参照してください。

PropertyRef 要素に子要素として含めることができるのは、annotation 要素 (0 個以上) のみです。

注意

annotation 要素は、.NET Framework Version 4 以降を対象としたアプリケーションの概念モデルでのみ使用できます。そのようなモデルの XML 名前空間は、https://schemas.microsoft.com/ado/2008/09/edm です。

適用可能な属性

PropertyRef 要素に適用できる属性を次の表に示します。

属性名

必須

Name

はい

参照されているプロパティの名前。

注意

PropertyRef 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。ただし、カスタム属性は CSDL 用に予約されたどの XML 名前空間にも属さない場合があります。カスタム属性の完全修飾名は一意である必要があります。

下の例は、エンティティ型 (Book) を定義します。エンティティ キーは、エンティティ型の ISBN プロパティを参照して定義されています。

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

次の例では、2 つの PropertyRef 要素が使用されており、2 つのプロパティ (Id と PublisherId) が参照制約のプリンシパル End と依存 End であることが示されています。

<Association Name="PublishedBy">
  <End Type="BooksModel.Book" Role="Book" Multiplicity="*" >
  </End>
  <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
  <ReferentialConstraint>
    <Principal Role="Publisher">
      <PropertyRef Name="Id" />
    </Principal>
    <Dependent Role="Book">
      <PropertyRef Name="PublisherId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

関連項目

概念

エンティティ フレームワークの概要

CSDL 仕様

Schema 要素 (CSDL)

エンティティ キー

その他の技術情報

CSDL、SSDL、および MSL 仕様

ADO.NET Entity Data Model ツール