用于开发 .NET Framework 应用程序的 Visual Studio 数据集工具
注意
数据集和相关类是 2000 年代初的旧 .NET Framework 技术,使应用程序能够在应用程序与数据库断开连接时处理内存中的数据。 这些方法对于使用户能够修改数据并持续更改回数据库的应用程序特别有用。 虽然数据集已被证明是一项非常成功的技术,但我们建议新的 .NET 应用程序使用 Entity Framework Core。 实体框架提供了一种更自然的方式来将表格数据作为对象模型,并且具有更简单的编程接口。
DataSet
对象是内存中的对象,本质上是一个微型数据库。 它包含 DataTable
、DataColumn
和 DataRow
对象,你可在其中存储和修改来自一个或多个数据库的数据,而无需维护打开的连接。 数据集维护有关其数据更改的信息,因此当应用程序重新连接时,可以跟踪更新并将其发送回数据库。
数据集和相关类在 .NET API 的 System.Data 命名空间中定义。 可以使用 ADO.NET 动态地创建和修改代码中的数据集。 本部分中的文档演示如何使用 Visual Studio 设计器来处理数据集。 通过设计器创建的数据集使用 TableAdapter 对象与数据库进行交互。 以编程方式创建的数据集使用 DataAdapter 对象。 有关以编程方式创建数据集的信息,请参阅 DataAdapters and DataReaders。
如果应用程序只需要从数据库中读取数据,而不需要执行更新、添加或删除操作,则通常可以通过使用 DataReader
对象将数据检索到通用 List
对象或其他收集对象来获得更好的性能。 如果要显示数据,可以将用户界面数据绑定到集合。
数据集工作流
Visual Studio 提供了简化数据集处理的工具。 基本的端到端工作流是:
使用“数据源”窗口,可以从一个或多个数据源创建新的数据集。 使用“数据集设计器”配置数据集并设置其属性。 例如,需要指定要包含的数据源中的表以及每个表中的列。 仔细选择以节省数据集所需的内存量。 有关详细信息,请参阅创建和配置数据集。
指定表之间的关系,以便正确处理外键。 有关详细信息,请参阅使用 TableAdapter 填充数据集。
使用 TableAdapter 配置向导指定填充数据集的查询或存储过程,以及要实现的数据库操作(更新、删除等)。 有关详细信息,请参阅以下主题:
查询和搜索数据集中的数据。 有关详细信息,请参阅查询数据集。 LINQ to DataSet 对 DataSet 对象中的数据启用 LINQ(语言集成查询)。 有关详细信息,请参阅 LINQ to DataSet。
使用“数据源”窗口将用户界面控件绑定到数据集或数据集的单个列,并指定用户可编辑的列。 有关详细信息,请参阅将控件绑定到 Visual Studio 中的数据。
数据集和 N 层体系结构
有关 N 层应用程序中的数据集的信息,请参阅在 n 层应用程序中使用数据集。
数据集和 XML
有关将数据集转换为 XML 或从 XML 转换数据集的信息,请参阅将 XML 数据读入数据集和将数据集另存为 XML。