DataTable 架构定义

表的架构或结构由列和约束表示。 您可以使用DataTable对象以及DataColumnForeignKeyConstraint对象来定义UniqueConstraint的架构。 表中的列可以映射到数据源中的列、包含表达式中的计算值、自动递增其值或包含主键值。

按名称引用表中的列、关系和约束是区分大小写的。 因此,两列或更多列、关系或约束可以存在于同名的表中,但这种情况有所不同。 例如,可以具有 Col1col1。 在这种情况下,按名称引用某一列就必须完全符合该列名的大小写,否则会引发异常。 例如,如果表 myTable 包含 Col1col1 列,则按名称引用 Col1 作为 myTable.Columns[“Col1”],将 col1 引用为 myTable.Columns[“col1”]。 尝试将任一列引用为 myTable.Columns[“COL1”] 将生成异常。

如果只有一个具有特定名称的列、关系或约束存在,则区分大小写规则不适用。 也就是说,如果表中没有其他列、关系或约束对象与该特定列、关系或约束对象的名称匹配,则可以使用任何事例按名称引用对象,并且不会引发异常。 例如,如果表只有 Col1,则可以使用 my.Columns["COL1"] 来引用它。

注释

CaseSensitive DataTable 的属性不会影响此行为。 CaseSensitive 属性适用于表中的数据,并影响排序、搜索、筛选、强制约束等,但不适用于对列、关系和约束的引用。

本节中

向数据表添加列
介绍如何使用 DataColumn 对象定义表的列。

创建表达式列
说明如何使用列的 Expression 属性根据行中的其他列的值来计算值。

创建 AutoIncrement 列
介绍如何将列设置为自动递增数值,以确保每行唯一的列值。

定义主键
介绍如何从一个或多个 DataColumn 对象中指定表的主键。

DataTable 约束
介绍如何为表中的列定义外键和唯一约束。

另请参阅