方面 (CSDL)

以概念架构定义语言 (CSDL) 表示的方面表示对于实体类型和复杂类型的属性的约束。 方面作为 XML 特性出现在以下 CSDL 元素上:

当从概念模型生成数据库时,实体框架 将使用 CSDL 中的方面。 有关更多信息,请参见Generate Database Wizard

下表描述了 CSDL 中支持的方面。 所有方面都是可选的。

Cc716737.note(zh-cn,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 的属性,指定属性值可以具有的位数。 对于类型 TimeDateTimeDateTimeOffset 的属性,指定属性值的秒的小数部分的位数。

Edm.DateTimeEdm.DateTimeOffsetEdm.DecimalEdm.Time

Scale

指定属性值小数点右侧的位数。

Edm.Decimal

Unicode

指示是否将属性值存储为 Unicode。

Edm.String

注意:当从概念模型生成数据库时,生成数据库向导将识别 Property 元素上的 StoreGeneratedPattern 特性的值(如果此元素处于以下命名空间中:https://schemas.microsoft.com/ado/2009/02/edm/annotation)。 此特性支持的值为 IdentityComputed。 值为 Identity 将生成一个数据库列,该列带有在数据库中生成的标识值。 值为 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 规范