使用 Visual Studio 在 .NET Framework 中创建和配置数据集

注意

数据集和相关类是 2000 年代初的旧 .NET Framework 技术,使应用程序能够在应用程序与数据库断开连接时处理内存中的数据。 它们对于使用户能够修改数据并持续更改回数据库的应用程序特别有用。 虽然数据集已被证明是一项非常成功的技术,但我们建议新的 .NET 应用程序使用 Entity Framework Core。 实体框架提供了一种更自然的方式来将表格数据作为对象模型,并且具有更简单的编程接口。

数据集是一组对象,这些对象将数据存储在内存中,并支持更改跟踪,以便对该数据启用创建、读取、更新和删除 (CRUD) 操作,而无需始终连接到数据库。 数据集专为简单的“基于数据的窗体”商业应用程序而设计。 对于新应用程序,请考虑使用实体框架将数据存储在内存中并对其进行建模。 要使用数据集,应基本了解数据库概念。

可在设计时使用“数据源配置向导”在 Visual Studio 中创建类型化 DataSet 类。 有关以编程方式创建数据集的信息,请参阅创建数据集 (ADO.NET)

使用数据源配置向导创建新数据集

  1. 在 Visual Studio 中打开项目,然后选择“项目”>“添加新数据源”以启动“数据源配置向导” 。

  2. 选择要连接的数据源的类型。

    显示“数据源配置向导”的屏幕截图。

  3. 从选项列表中选择 DataSet

    显示选择 DataSet 作为数据库模型的屏幕截图。

  4. 选择一个或多个数据库作为数据集的数据源。

    显示如何选择连接的屏幕截图。

  5. 选择是否将连接字符串保存在 app.config 中。

    显示用于将连接字符串保存到应用程序配置文件的选项的屏幕截图。

  6. 从数据库中选择要在数据集中表示的表(或单个列)、存储过程、函数和视图。

    显示如何选择数据库对象的屏幕截图。

  7. 单击“完成” 。

    数据集在“解决方案资源管理器”中显示为一个节点。

    显示解决方案资源管理器中的数据集的屏幕截图。

  8. 在“解决方案资源管理器”中单击“数据集节点”,以在“数据集设计器”中打开数据集 。 数据集中的每个表都有一个关联的 TableAdapter 对象,该对象显示在底部。 表适配器用于填充数据集,并可选择将命令发送到数据库。

    显示数据集设计器中的数据表的屏幕截图。

  9. 连接表的关系线表示数据库中定义的表关系。 默认情况下,数据库中的外键约束仅表示为一种关系,并且更新和删除规则设置为“无”。 通常,这就是你想要的。 不过,你可以单击这些线以打开“关系”对话框,可在该对话框更改分层更新的行为。 有关详细信息,请参阅数据集中的关系分层更新

    “数据集关系”对话框

  10. 单击表中的表、表适配器或列名称,以在“属性”窗口中查看其属性。 你可以在此处修改某些值。 请记住,你修改的是数据集,不是源数据库。

    显示 DataSet 列属性的屏幕截图。

  11. 你可以向数据集添加新的表或表适配器,或者为现有表适配器添加新查询,也可通过从“工具箱”选项卡拖动这些项来指定表之间的新关系。当“数据集设计器”持有焦点时将显示此选项卡 。

    显示数据集工具箱的屏幕截图。

接下来,你需要指定如何用数据填充数据集。 对此,可使用“TableAdapter 配置向导”。 有关详细信息,请参阅使用 TableAdapter 填充数据集

将数据库表或其他对象添加到现有数据集

此过程说明如何从用于首次创建数据集的同一数据库中添加表。

  1. 在“解决方案资源管理器”中单击“数据集节点”,以聚焦到“数据集设计器” 。

  2. 单击 Visual Studio 左边距中的“数据源”选项卡,或在搜索框中键入“数据源” 。

  3. 右键单击“数据集节点”,然后选择“使用向导配置数据源”。

    显示数据源上下文菜单的屏幕截图。

  4. 使用该向导可指定可向数据集添加的其他表、存储过程或其他数据库对象。

向数据集添加独立数据表

  1. 在“数据集设计器”中打开数据集

  2. 将一个 DataTable 类从“工具箱”的“数据集”选项卡拖到“数据集设计器”上 。

  3. 添加列以定义数据表。 右键单击该表,然后选择“添加”>“列” 。 如有必要,可使用“属性”窗口设置列的数据类型和键。

独立表需要实现 Fill 逻辑,以便使用数据填充它们。 有关填充数据表的信息,请参阅从 DataAdapter 填充数据集