次の方法で共有


ファセット (CSDL)

概念スキーマ定義言語 (CSDL) のファセットは、エンティティ型と複合型のプロパティに対する制約を表します。ファセットは次の CSDL 要素で XML 属性として使用されます。

次の表は、CSDL でサポートされるファセットについて説明しています。いずれのファセットもオプションです。次に示すファセットの一部は、Entity Framework が概念モデルからデータベースを生成するときに使用されます。詳細については、「データベース生成ウィザード」を参照してください。

注意

概念モデルでのデータ型については、「概念モデルの型 (CSDL)」を参照してください。

ファセット

説明

適用対象

データベースの生成に使用

ランタイムで使用

Collation

プロパティの値に対して比較と順序付け操作を行うときに使用する照合順序

(または並べ替え順序) を指定します。

Edm.String

×

ConcurrencyMode

プロパティの値をオプティミスティック同時実行制御チェックに

使用することを指定します。

すべての EDMSimpleType プロパティ

×

Default

インスタンス化で値が指定されない場合のプロパティの

既定値を指定します。

すべての EDMSimpleType プロパティ

FixedLength

プロパティ値の長さを可変とすることができるかどうかを指定します。

Edm.Binary, Edm.String

×

MaxLength

プロパティ値の最大長を指定します。

Edm.Binary, Edm.String

×

Nullable

プロパティに null 値を指定できるかどうかを指定します。

すべての EDMSimpleType プロパティ

Precision

Decimal 型のプロパティには、プロパティ値の桁数を指定します。

Time、DateTime、および DateTimeOffset 型のプロパティには、

プロパティ値の秒の小数点以下の有効桁数を指定します。

Edm.DateTime, Edm.DateTimeOffset,

Edm.Decimal および Edm.Time

×

Scale

プロパティ値の小数点の右側の桁数を指定します。

Edm.Decimal

×

Unicode

プロパティ値を Unicode として保存するかどうかを指定します。

Edm.String

メモ   データベースを概念モデルから生成するときには、データベース生成ウィザードが Property 要素の StoreGeneratedPattern 属性の値を認識します。ただし、名前空間 https://schemas.microsoft.com/ado/2009/02/edm/annotation にある場合に限ります。属性でサポートされる値は、Identity と Computed です。Identity の値は、データベースで生成される ID 値を持つデータベース列を生成します。Computed の値は、データベースで計算される値を持つ列を生成します。

エンティティ型のプロパティに適用されるファセットの例を次に示します。

<EntityType Name="Product">
  <Key>
    <PropertyRef Name="ProductId" />
  </Key>
  <Property Type="Int32" 
            Name="ProductId" Nullable="false" 
            a:StoreGeneratedPattern="Identity" 
   xmlns:a="https://schemas.microsoft.com/ado/2009/02/edm/annotation" />
  <Property Type="String" 
            Name="ProductName" 
            Nullable="false" 
            MaxLength="50" />
  <Property Type="String" 
            Name="Location" 
            Nullable="true" 
            MaxLength="25" />
</EntityType>

詳細については、「Property 要素 (CSDL)」を参照してください。

関連項目

参照

System.Data.Metadata.Edm.Facet

概念

ファセット

CSDL 仕様

その他の技術情報

CSDL、SSDL、および MSL 仕様