【.Net实用方法总结】 整理并总结System.Data中Constraint类及其方法介绍

作者简介:博主是一位.Net开发者,同时也是RPA和低代码平台的践行者。
个人主页:会敲键盘的肘子
系列专栏:.Net实用方法总结
专栏简介:博主针对.Net开发和C站问答过程中遇到的问题进行总结,形成本专栏,希望可以帮助到您解决问题。
座右铭:总有一天你所坚持的会反过来拥抱你。


【.Net实用方法总结】 整理并总结System.Data中Constraint类及其方法介绍_第1张图片

写在前面:

本文主要介绍System.Data命名空间的 Constraint 类,介绍其常用的方法和实践。


本文关键字:System.Data、Constraint类、DataTable类、方法实践、C#

文章目录

      • 1️⃣ System.Data命名空间
      • 2️⃣ Constraint类
        • ♈ 定义
        • ♉ 属性
          • ConstraintName
          • Table
        • ♊ 方法
          • SetDataSet(DataSet)
        • ♌ 注解
        • ♋ 更多方法

1️⃣ System.Data命名空间

提供对表示 ADO.NET 体系结构的类的访问权限。 通过 ADO.NET,可以生成可有效管理多个数据源的数据的组件。

2️⃣ Constraint类

♈ 定义

表示可在一个或多个 DataColumn 对象上强制执行的约束。

[System.ComponentModel.TypeConverter(typeof(System.Data.ConstraintConverter))]
public abstract class Constraint

示例

下面的示例检查约束 DataTable 的集合,并确定每个约束是一个 UniqueConstraint 还是一个 ForeignKeyConstraint约束。 然后显示约束的属性。

private void GetConstraints(DataTable dataTable)
{
    Console.WriteLine();

    // Print the table's name.
    Console.WriteLine("TableName: " + dataTable.TableName);

    // Iterate through the collection and
    // print each name and type value.
    foreach(Constraint constraint in dataTable.Constraints )
    {
        Console.WriteLine("Constraint Name: "
            + constraint.ConstraintName);
        Console.WriteLine("Type: "
            + constraint.GetType().ToString());

        // If the constraint is a UniqueConstraint,
        // print its properties using a function below.
        if(constraint is UniqueConstraint)
        {
            PrintUniqueConstraintProperties(constraint);
        }
        // If the constraint is a ForeignKeyConstraint,
        // print its properties using a function below.
        if(constraint is ForeignKeyConstraint)
        {
            PrintForeignKeyConstraintProperties(constraint);
        }
    }
}

private void PrintUniqueConstraintProperties(
    Constraint constraint)
{
    UniqueConstraint uniqueConstraint;
    uniqueConstraint = (UniqueConstraint) constraint;

    // Get the Columns as an array.
    DataColumn[] columnArray;
    columnArray = uniqueConstraint.Columns;

    // Print each column's name.
    for(int i = 0;i

♉ 属性

ConstraintName

ConstraintCollection 中的约束的名称。

public virtual string ConstraintName { get; set; }

示例

以下示例循环 ConstraintCollection 访问每个示例 DataTable 并打印每个 ConstraintName项。

private void PrintConstraintNames(DataTable myTable){
   foreach(Constraint cs in myTable.Constraints){
      Console.WriteLine(cs.ConstraintName);
   }
}
Table

获取向其应用约束的 DataTable。

public abstract System.Data.DataTable? Table { get; }

示例

以下示例返回 DataTable a Constraint.

private void GetDataTable(UniqueConstraint constraint){
   DataTable table = constraint.Table;
   Console.WriteLine(table.TableName);
}

♊ 方法

SetDataSet(DataSet)

设置约束的 DataSet。

protected internal void SetDataSet (System.Data.DataSet dataSet);

参数

dataSet

DataSet

此约束将属于的 DataSet。

示例

以下示例使用 SetDataSet 该方法设置 DataSet 约束。

UniqueConstraint uniqueConstraint = new UniqueConstraint(
    DataSet1.Tables["Table1"].Columns["Column1"]);

♌ 注解

约束是用于维护数据在中 DataTable完整性的规则。 例如,删除一个或多个相关表中使用的值时,确定 ForeignKeyConstraint 相关表中的值是否也会被删除、设置为 null 值、设置为默认值,或者是否不执行任何操作。 另一 UniqueConstraint方面,只需确保特定表中的所有值都是唯一的。 有关详细信息,请参阅DataTable 约束。

不使用基本 Constraint 构造函数。 主键或唯一键约束是使用 UniqueConstraint 构造函数创建的,外键约束是通过使用 ForeignKeyConstraint 构造函数创建的。

♋ 更多方法

更多方法请查阅官方文档Constraint类。


⭐写在结尾:

文章中出现的任何错误请大家批评指出,一定及时修改。

希望写在这里的小伙伴能给个三连支持

你可能感兴趣的:(.Net实用方法总结,.net,c#,DataTable)