次の方法で共有


ファセット (CSDL)

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

CSDL のファセットは、Entity Framework が概念モデルからデータベースを生成するときに使用します。 詳細については、「Generate Database Wizard」を参照してください。

次の表は、CSDL でサポートされるファセットについて説明しています。 いずれのファセットもオプションです。

Cc716737.note(ja-jp,VS.100).gif注 :
概念モデルでのデータ型については、「概念モデルの型」を参照してください。

ファセット 説明 対象

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.DateTimeEdm.DateTimeOffsetEdm.DecimalEdm.Time

Scale

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

Edm.Decimal

Unicode

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

Edm.String

メモ   データベースを概念モデルから生成するときには、Generate Database WizardProperty 要素の StoreGeneratedPattern 属性の値を認識します。ただし、名前空間 https://schemas.microsoft.com/ado/2009/02/edm/annotation にある場合に限ります。 属性でサポートされる値は、IdentityComputed です。 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 仕様

その他のリソース

facet (Entity Data Model)
CSDL、SSDL、および MSL 仕様