属性 (Master Data Services)

在 Master Data Services 中,属性是实体中的对象。属性是属性值的容器,并且每个属性值均描述一个成员。

您可以将属性视作实体表中的列。属性值是用于描述特定成员的值。

实体示例

在下面的示例中,实体具有 Name、Code、Subcategory、StandardCost、ListPrice 和 FilePhoto 属性。这些属性描述成员。这些成员由一行属性值表示。

带有样本数据的实体示例

创建实体时,将自动创建 Name 和 Code 属性。Code 需要一个值,并且必须在实体中是唯一的。不能删除 Name 和 Code 属性。

属性可用于描述叶成员、合并成员或集合。

属性类型

有三种类型的属性:

  • 基于域的属性,由实体填充。有关详细信息,请参阅基于域的属性 (Master Data Services)

  • 文件属性,用于存储文件、文档或图像。文件属性旨在通过要求文件具有特定的扩展名,帮助确保数据的一致性。文件属性不一定能够防止恶意用户上载不同类型的文件。

  • 自由格式的属性,允许针对文本、数字、日期或链接的自由格式的输入。

数字自由格式属性

数字自由格式属性值被限制为 SqlDouble 值类型。

默认情况下,Double 值包含 15 个小数位数的精度,尽管它在内部维护最大 17 位的精度。浮点数的精度具有以下若干影响:

  • 对于特定精度,看起来相等的两个浮点数在进行比较时可能不相等,因为其最小有效位不同。

  • 在使用小数时,使用浮点数的算术或比较运算不一定产生相同结果,因为浮点数可能无法精确表示小数。

  • 如果涉及浮点数,值可能无法往返转换。如果某一运算将原始浮点数转换为其他形式,而相反运算将已转换形式转换回浮点数,并且最终生成的浮点数与原始浮点数相等,则值被认为是往返转换。因为在转换过程中一个或多个最小有效位缺失或更改,所以该往返转换可能失败。

属性示例

在下面的示例中,Product 实体包含:

  • Name、Code、StandardCost 和 ListPrice 的自由格式属性。

  • Subcategory 的基于域的属性。

  • FilePhoto 的文件属性。

Subcategory 是用作 Product 的基于域的属性的实体。Category 是用作 Subcategory 的基于域的属性的实体。与 Product 实体一样,Category 和 Subcategory 实体各自包含默认 Name 和 Code 属性。

实体