Property 要素 (CSDL)
概念スキーマ定義言語 (CSDL) の Property 要素は、EntityType 要素、ComplexType 要素、または RowType 要素の子にすることができます。
EntityType 要素と ComplexType 要素のアプリケーション
Property 要素が EntityType 要素または ComplexType 要素の子である場合、Property 要素はエンティティ型または複合型のインスタンスに含まれるデータの構造と特性を定義します。 概念モデルのプロパティは、クラスで定義されるプロパティに似ています。 In the same way that properties on a class define the shape of the class and carry information about objects, properties in a conceptual model define the shape of an entity type and carry information about entity type instances.
The Property element can have the following child elements (in the order listed):
Documentation Element (zero or one elements allowed)
Annotation 要素 (0 個以上の要素を含めることができます)。
Property 要素に適用できるファセットは、Nullable、DefaultValue、MaxLength、FixedLength、Precision、Scale、Unicode、Collation、および ConcurrencyMode です。 ファセットは、プロパティ値をデータ ストアに格納する方法に関する情報を提供する XML 属性です。 詳細については、「ファセット (CSDL)」を参照してください。
注 : |
---|
ファセットは、 EDMSimpleType 型のプロパティにのみ適用できます。詳細については、「概念モデルの型」を参照してください。 |
適用可能な属性
The following table describes the attributes that can be applied to the Property element.
属性名 | 必須 | Value |
---|---|---|
Name |
有効 |
プロパティの名前。 |
Type |
有効 |
プロパティ値の型。 プロパティ値の型は、モデルのスコープ内の EDMSimpleType または複合型 (完全修飾名で示される) である必要があります。 詳細については、「概念モデルの型」を参照してください。 |
Nullable |
いいえ |
プロパティに null 値を割り当てることができるかどうかにより、True (既定値) または False。
注 :
https://schemas.microsoft.com/ado/2006/04/edm 名前空間で示された CSDL のバージョンでは、複合型のプロパティは
Nullable="False" である必要があります。
|
DefaultValue |
いいえ |
プロパティの既定値。 |
MaxLength |
いいえ |
プロパティ値の最大長。 |
FixedLength |
いいえ |
プロパティ値が固定長の文字列として格納されるかどうかにより、True または False。 |
Precision |
いいえ |
プロパティ値の有効桁数。 |
Scale |
いいえ |
プロパティ値の小数点以下桁数。 |
Unicode |
いいえ |
プロパティ値が Unicode 文字列として格納されるかどうかにより、True または False。 |
Collation |
いいえ |
データ ソースで使用する照合順序を指定する文字列。 |
ConcurrencyMode |
いいえ |
None (既定値) または Fixed。 値を Fixed に設定すると、オプティミスティック同時実行チェックでプロパティ値が使用されます。 |
注 : |
---|
Property 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。However, custom attributes may not belong to any XML namespace that is reserved for CSDL.カスタム属性の完全修飾名は一意である必要があります。 |
例
The following example shows an EntityType element with three Property elements:
<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>
次の例は、5 つの Property 要素を持つ ComplexType 要素を示しています。
<ComplexType Name="Address" >
<Property Type="String" Name="StreetAddress" Nullable="false" />
<Property Type="String" Name="City" Nullable="false" />
<Property Type="String" Name="StateOrProvince" Nullable="false" />
<Property Type="String" Name="Country" Nullable="false" />
<Property Type="String" Name="PostalCode" Nullable="false" />
</ComplexType>
RowType 要素のアプリケーション
Property 要素が RowType 要素の子である場合、Property 要素はモデル定義関数との間で受け渡しできるデータの構造と特性を定義します。 詳細については、「Function 要素 (CSDL)」を参照してください。
Property 要素には、次の子要素のうち 1 つのみを含めることができます。
Property 要素には、任意の数の子 annotation 要素を含めることができます。
注 : |
---|
Annotation elements are only allowed in conceptual models for applications that target the .NET Framework version 4 or later.The XML namespace for such models is https://schemas.microsoft.com/ado/2008/09/edm. |
適用可能な属性
The following table describes the attributes that can be applied to the Property element.
属性名 | 必須 | Value |
---|---|---|
Name |
有効 |
プロパティの名前。 |
Type |
有効 |
プロパティ値の型。 |
Nullable |
いいえ |
プロパティに null 値を割り当てることができるかどうかにより、True (既定値) または False。
注 :
https://schemas.microsoft.com/ado/2006/04/edm 名前空間で示された CSDL のバージョンでは、複合型のプロパティは
Nullable="False" である必要があります。
|
DefaultValue |
いいえ |
プロパティの既定値。 |
MaxLength |
いいえ |
プロパティ値の最大長。 |
FixedLength |
いいえ |
プロパティ値が固定長の文字列として格納されるかどうかにより、True または False。 |
Precision |
いいえ |
プロパティ値の有効桁数。 |
Scale |
いいえ |
プロパティ値の小数点以下桁数。 |
Unicode |
いいえ |
プロパティ値が Unicode 文字列として格納されるかどうかにより、True または False。 |
Collation |
いいえ |
データ ソースで使用する照合順序を指定する文字列。 |
注 : |
---|
Property 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。However, custom attributes may not belong to any XML namespace that is reserved for CSDL.カスタム属性の完全修飾名は一意である必要があります。 |
例
モデル定義関数の戻り値の型の構造を定義するために使用される Property 要素の例を次に示します。
<Function Name="LastNamesAfter">
<Parameter Name="someString" Type="Edm.String" />
<ReturnType>
<CollectionType>
<RowType>
<Property Name="FirstName" Type="Edm.String" Nullable="false" />
<Property Name="LastName" Type="Edm.String" Nullable="false" />
</RowType>
</CollectionType>
</ReturnType>
<DefiningExpression>
SELECT VALUE ROW(p.FirstName, p.LastName)
FROM SchoolEntities.People AS p
WHERE p.LastName >= somestring
</DefiningExpression>
</Function>
参照
概念
エンティティ フレームワークの概要
CSDL 仕様
Schema 要素 (CSDL)
FunctionImport 要素 (CSDL)
その他のリソース
CSDL、SSDL、および MSL 仕様
ADO.NET Entity Data Model Tools
property (Entity Data Model)
facet (Entity Data Model)