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

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


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

写在前面:

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


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

文章目录

      • 1️⃣ System.Data命名空间
      • 2️⃣ DataRelation类
        • ♈ 定义
        • ♉ 构造函数
          • DataRelation(String, DataColumn, DataColumn)
          • DataRelation(String, DataColumn[], DataColumn[])
        • ♊ 属性
          • ChildColumns
          • ParentColumns
          • RelationName
        • ♌ 注解
        • ♋ 更多方法

1️⃣ System.Data命名空间

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

2️⃣ DataRelation类

♈ 定义

表示两个 DataTable 对象之间的父/子关系。

[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
public class DataRelation

示例

以下示例创建一个新DataRelation值并将其添加到 DataSet中DataRelationCollection。

private void CreateRelation()
{
    // Get the DataColumn objects from two DataTable objects
    // in a DataSet. Code to get the DataSet not shown here.
    DataColumn parentColumn =
        DataSet1.Tables["Customers"].Columns["CustID"];
    DataColumn childColumn =
        DataSet1.Tables["Orders"].Columns["CustID"];
    // Create DataRelation.
    DataRelation relCustOrder;
    relCustOrder = new DataRelation("CustomersOrders",
        parentColumn, childColumn);
    // Add the relation to the DataSet.
    DataSet1.Relations.Add(relCustOrder);
}

♉ 构造函数

DataRelation(String, DataColumn, DataColumn)

使用指定的 DataRelation 名称、父级和子级 DataColumn 对象,初始化 DataRelation 类的新实例。

public DataRelation (string? relationName, System.Data.DataColumn parentColumn, System.Data.DataColumn childColumn);

参数

relationName

String

DataRelation 的名称。 如果为 null 或空字符串 (“”),则当创建的对象添加到 DataRelationCollection 时,将提供一个默认名称。

parentColumn

DataColumn

关系中的父级 DataColumn。

childColumn

DataColumn

关系中的子级 DataColumn。

示例

以下示例创建一个新DataRelation值并将其添加到 DataSet中DataRelationCollection。

private void CreateRelation()
{
    // Code to get the DataSet not shown here.
    // Get the DataColumn objects from two DataTable
    // objects in a DataSet.
    DataColumn[] parentCols = new DataColumn[]
        {DataSet1.Tables["Customers"].Columns["CustID"],
        DataSet1.Tables["Customers"].Columns["OrdID"]};
    DataColumn[] childCols= new DataColumn[]
        {DataSet1.Tables["Orders"].Columns["CustID"],
        DataSet1.Tables["Orders"].Columns["OrdID"]};

    // Create DataRelation.
    DataRelation CustOrderRel = new DataRelation(
        "CustomersOrders", parentCols, childCols);

    // Add the relation to the DataSet.
    DataSet1.Relations.Add(CustOrderRel);
}
DataRelation(String, DataColumn[], DataColumn[])

使用指定的 DataRelation 名称、父级和子级 DataColumn 对象的匹配数组,初始化 DataRelation 类的新实例。

public DataRelation (string? relationName, System.Data.DataColumn[] parentColumns, System.Data.DataColumn[] childColumns);

参数

relationName

String

DataRelation 的名称。 如果为 null 或空字符串 (“”),则当创建的对象添加到 DataRelationCollection 时,将提供一个默认名称。

parentColumn

DataColumn[]

父级 DataColumn 对象的数组。

childColumn

DataColumn[]

子级 DataColumn 对象的数组。

♊ 属性

ChildColumns

获取此关系的子级 DataColumn 对象。

public virtual System.Data.DataColumn[] ChildColumns { get; }
ParentColumns

获取作为此 DataRelation 的父列的 DataColumn 对象的数组。

public virtual System.Data.DataColumn[] ParentColumns { get; }
RelationName

获取或设置用于从 DataRelationCollection 中检索 DataRelation 的名称。

public virtual string RelationName { get; set; }

♌ 注解

DataRelation 用于通过DataColumn对象相互关联两个DataTable对象。 例如,在 Customer/Orders 关系中,Customers 表是父表,Orders 表是关系的子级。 这类似于主键/外键关系。 有关详细信息,请参阅 导航 DataRelations。

在父表和子表中的匹配列之间创建关系。 也就是说, DataType 这两列的值必须相同。

关系还可以级联从父 DataRow 行到子行的各种更改。 若要控制子行中的值更改方式,请向ConstraintCollectionDataTable对象添加一个ForeignKeyConstraint值。 确定 ConstraintCollection 删除或更新父表中的值时要执行的操作。

♋ 更多方法

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


⭐写在结尾:

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

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

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