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

注意

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

数据集是一组对象,用于在内存中存储数据库中的数据,并支持更改跟踪,以便在该数据上启用创建、读取、更新和删除(CRUD)操作,而无需始终连接到数据库。 若要使用数据集,应具备数据库概念的基础知识。

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

先决条件

  • Visual Studio 安装了 .NET 桌面开发数据存储和处理 工作负载。 若要安装所需组件,请打开 Visual Studio 安装程序,然后选择要修改的 Visual Studio 版本旁边的 修改 按钮。

  • .NET Framework 项目。 请勿使用 .NET Core 或 .NET 5 或更高版本。

  • SQL Server Express LocalDB。 如果没有 SQL Server Express LocalDB,可以从 SQL Server 下载页安装它。

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

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

  2. 选择 数据库 作为数据源的类型,然后选择“下一步”

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

  3. 选择 数据集,然后选择 下一步

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

  4. 选择一个或多个数据库作为数据集的数据连接,然后选择"下一步"

    显示如何选择数据库作为数据源的屏幕截图。

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

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

  6. 选择“完成”

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

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

  7. 双击解决方案资源管理器中的数据集节点。

    数据集将在数据集设计器中打开。

    数据集中的每个表都有一个关联的 TableAdapter 对象,该对象在表关系图的底部表示。 表适配器用于填充数据集,还可以选择将命令发送到数据库。

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

  8. 如果要更改分层更新的行为,可以双击两个表之间的关系线以显示 关系 对话框。

    连接表的关系线表示在数据库中定义的表关系。 默认情况下,数据库中的外键约束仅表示为关系,更新和删除规则设置为 none,这通常是所需的。 有关详细信息,请参阅 创建数据集分层更新之间的关系。

    显示“关系”对话框的屏幕截图,可在其中编辑数据集关系。

  9. 在数据集设计器中,选择表、表适配器或列名称,以查看其在 属性 窗口中的属性。 尽管可以修改窗口中的某些值,但请记住,要修改数据集,而不是源数据库。

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

  10. 可以将新表或表适配器添加到数据集、为现有表适配器添加新查询,或通过从左侧 工具箱 选项卡拖动这些项来指定表之间的新关系。当数据集设计器处于焦点时,将显示此选项卡。

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

  11. (可选)可能需要指定如何使用数据填充数据集。 为此,请使用 TableAdapter 配置向导。 有关详细信息,请参阅使用 TableAdapter 填充数据集

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

此过程演示如何从用于首次创建数据集的同一数据库中添加表:

  1. 双击解决方案资源管理器中的数据集节点。

    数据集将在数据集设计器中打开。

  2. 在 Visual Studio 的左边距中选择 数据源 选项卡,或在搜索框中输入 数据源

  3. 右键单击数据集节点并选择 使用向导配置数据源。

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

  4. 使用 数据源配置向导 指定要添加到数据集的其他表、存储过程或其他数据库对象。

将独立数据表添加到数据集

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

  2. DataTable 类从 工具箱数据集 选项卡拖到数据集设计器上。

  3. 添加列以定义数据表。 右键单击该表,然后选择 “添加>”。 在 属性 窗口中,设置列的数据类型。 如果需要,请选择“添加>密钥”来添加密钥。

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