演练:使用数据集设计器为 .NET Framework 应用程序创建数据集

注释

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

在本演练中,将使用 数据集设计器创建数据集。 本文将引导你完成创建新项目并向其添加新 数据集 项的过程。 你将了解如何在不使用向导的情况下基于数据库中的表创建表。

先决条件

若要完成本教程,需要 .NET 桌面开发 工作负载和(对于 数据源 窗口)在 Visual Studio 中安装的 数据存储和处理 工作负载。 若要安装它们,请打开 Visual Studio 安装程序,然后选择要修改的 Visual Studio 版本旁边的 修改(或 更多>修改)。 请参阅修改 Visual Studio

本演练使用 SQL Server Express LocalDB 和 Northwind 示例数据库。

  1. 如果没有 SQL Server Express LocalDB,请从 SQL Server Express 下载页或通过 Visual Studio 安装程序安装它。 在 Visual Studio 安装程序中,SQL Server Express LocalDB 可以作为 数据存储和处理 工作负荷的一部分安装,也可以作为单个组件进行安装。

  2. 按照以下步骤安装 Northwind 示例数据库:

    1. 在 Visual Studio 中,打开 SQL Server 对象资源管理器 窗口。 (在 Visual Studio 安装程序中 SQL Server 对象资源管理器作为数据存储和处理工作负载的一部分安装。)展开 SQL Server 节点。 右键单击 LocalDB 实例并选择“新建查询”

      此时会打开查询编辑器窗口。

    2. Northwind Transact-SQL 脚本 复制到剪贴板。 此 T-SQL 脚本从头开始创建 Northwind 数据库,并使用数据填充该数据库。

    3. 将 T-SQL 脚本粘贴到查询编辑器中,然后选择 “执行” 按钮。

      短时间后,查询完成执行并创建 Northwind 数据库。

创建新的 Windows 窗体应用程序项目

  1. 在 Visual Studio 中,创建新的 Windows 窗体应用(.NET Framework) 项目并将其命名为 DatasetDesignerWalkthrough

    Visual Studio 将项目添加到 解决方案资源管理器 ,并在设计器中显示新窗体。

向应用程序添加新数据集

  1. “项目 ”菜单上,选择“ 添加新项”。

    此时将显示“添加新项”对话框。

  2. 在左侧窗格中,选择 “数据”,然后在中间窗格中选择 “数据集 ”。

  3. 将数据集 命名为 NorthwindDataset,然后选择 “添加”。

    Visual Studio 将名为 NorthwindDataset.xsd 的文件添加到项目中,并在 数据集设计器中打开该文件。

在服务器资源管理器中创建数据连接

  1. “视图 ”菜单上,单击 “服务器资源管理器”。

  2. 服务器资源管理器中,单击“ 连接到数据库 ”按钮。

  3. 创建与 Northwind 示例数据库的连接。

在数据集中创建表

本部分介绍如何向数据集添加表。

创建客户表

  1. 展开在 服务器资源管理器中创建的数据连接,然后展开 “表” 节点。

  2. “客户 ”表从 服务器资源管理器 拖到 数据集设计器上。

    客户数据表和 CustomersTableAdapter 将添加到数据集。

创建“订单”表的过程

  • “订单 ”表从 服务器资源管理器 拖到 数据集设计器上。

    订单数据表、OrdersTableAdapter客户订单表之间的数据关系添加到数据集。

创建“订单详细信息”表

  • 将“ 订单详细信息 ”表从 服务器资源管理器 拖到 数据集设计器上。

    订单详细信息数据表、OrderDetailsTableAdapterOrderDetails 表之间的数据关系将添加到数据集中。

保存数据集

刚刚创建的数据集可在 “数据源 ”窗口中使用。 如果未看到“数据源”窗口,请检查是否安装了“先决条件”中所述的数据存储和处理工作负载。

现在可以执行以下任一任务: