方面 (CSDL)
以概念架构定义语言 (CSDL) 表示的方面表示对于实体类型和复杂类型的属性的约束。 方面作为 XML 特性出现在以下 CSDL 元素上:
当从概念模型生成数据库时,实体框架 将使用 CSDL 中的方面。 有关更多信息,请参见Generate Database Wizard。
下表描述了 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 将生成一个数据库列,该列带有在数据库中生成的标识值。 值为 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