在 ADO.NET 应用程序中添加数据源 (.NET Framework)
在 Visual Studio 中使用 .NET 数据工具时,可以添加数据源(.NET 对象),以将 .NET 应用程序连接到数据存储中的信息。 在 Visual Studio 设计器可以使用数据源输出来生成样板代码,当你从“数据源”窗口中拖放数据库对象时,这些代码会将数据绑定到窗体。
数据源示例包括:
实体框架模型中与某种类型的数据库相关联的类
与某种数据库关联的数据集
表示网络服务(如 Windows Communication Foundation (WCF) 数据服务或 REST 服务)的类
表示 SharePoint 服务的类
解决方案中的类或集合
注意
数据集和相关类是 2000 年代初的旧 .NET Framework 技术,使应用程序能够在应用程序与数据库断开连接时处理内存中的数据。 这些方法对于使用户能够修改数据并持续更改回数据库的应用程序特别有用。 虽然数据集已被证明是一项非常成功的技术,但我们建议新的 .NET 应用程序使用 Entity Framework Core。 实体框架提供了一种更自然的方式来将表格数据作为对象模型,并且具有更简单的编程接口。
先决条件
实现面向 .NET Framework 的 Windows 窗体 或 Windows Presentation Format (WPF) 对象的应用程序。 安装包含 .NET 桌面开发工作负荷时,可以在 Visual Studio 中使用模板创建这种类型的应用程序。 有关详细信息,请参阅修改 Visual Studio 工作负载、组件和语言包。
重要
WPF 或 Windows 窗体的 .NET Core 开发不支持本文中所述的功能。
应用程序必须使用数据绑定功能:数据集、实体框架、SQL 语言集成查询 (LINQ)、WCF 数据服务或 SharePoint。
提示
当应用程序不使用其中一个或多个组件时,“数据源”的概念不适用。 在这些方案中,可以使用 SqlCommand 类对象直接连接到数据库。
使用数据源和 Windows 窗体
通过使用数据源配置向导在 Windows 窗体或 WPF 应用程序中创建和编辑 .NET Framework 的数据源。 可以从数据库、服务、对象或 SharePoint 列表创建数据源:
创建数据源后,它们将在“数据源”窗口中可见。 在 Visual Studio 中打开项目时,可以通过选择查看>其他窗口>数据源来访问此窗口。 还可使用 Shift+Alt+D 键盘快捷键。
在面向 .NET Framework(而非 .NET Core 或 .NET 5 或更高版本)的 Windows 窗体项目中,可以将数据源从“数据源”窗口拖到 Windows 窗体设计图面或控件上。 有关如何使用窗体连接数据源的一些示例包括:
拖动表以获得该表的 BindingNavigator 和 DataGridView。
拖动所有表列以获得该表的完整数据查看窗体。
这些操作会触发 Visual Studio,从而生成样本代码,用于显示数据存储中的数据。 以下示例显示了拖放到 Windows 窗体上的数据集。 如果在应用程序上选择 F5,则基础数据库中的数据将显示在窗体的控件中。
从数据库或数据库文件创建数据源
可以使用数据源配置向导创建数据集或实体框架模型,用作数据库或数据库文件的数据源。 如果配置使用实体框架,请先创建实体类,然后使用向导创建数据源。
将数据集创建为数据源
数据源配置向导提供通过连接到数据库来创建数据源的选项。 可以选择要用作应用程序数据集的数据库对象。
执行以下步骤以创建数据集作为数据源:
在 Visual Studio 中,选择项目>添加新数据源,以打开数据源配置向导。
对于数据源的类型,选择“数据库”。
对于数据库模型,选择“数据集”。
按照提示指定新的或现有的数据库连接,或者指定数据库文件。
选择要包含在数据集中的数据库对象,然后完成向导。
有关完成向导的详细说明,请参阅使用 Visual Studio 在 .NET Framework 中创建和配置数据集。
创建实体框架模型作为数据源
配置使用实体框架时,先创建实体类,然后使用数据源配置向导创建数据源。
执行以下步骤,使用实体数据模型向导创建实体框架模型作为数据源:
选择项目>添加新项。 “添加新项” 对话框随即打开。
在对话框中,选择 ADO.NET 实体数据模型模板,输入模型实例的名称,然后选择“添加”:
“实体数据模型”向导随即打开。
在向导中,选择生成实体框架模型的方法:
数据库中的 EF 设计器:根据现有数据库在实体框架设计器中创建模型。 可以选择数据库连接、模型设置,以及要包括在模型中的数据库对象。 应用程序与之交互的类可从模型生成。
空 EF 设计器模型:在实体框架设计器中创建空模型作为可视化设计模型的起点。 稍后,可以从模型生成数据库。 应用程序与之交互的类可从模型生成。
空 Code First 模型:使用代码创建空 Code First 模型作为设计模型的起点。 稍后,可以从模型生成数据库。
数据库中的 Code First:根据现有数据库创建 Code First 模型。 可以选择数据库连接、模型设置,以及要包括在模型中的数据库对象。
做出选择后,选择“下一步”以在向导中继续。
将模型添加为应用程序的数据源,然后完成向导。
有关完成向导的详细说明,请参阅使用实体框架创建模型类 (C#)。
为模型生成类后,可以使用数据源配置向导从对象创建数据源。
从模型中选择要用于数据集的表(或单列)、存储过程、函数和视图。
有关详细说明,请参阅从对象创建数据源。
从服务创建数据源
数据源配置向导支持从服务创建数据源。 在此方法中,Visual Studio 将服务引用添加到项目,并创建与服务返回的对象相对应的代理对象。 当服务返回数据集时,会在项目中将服务表示为数据集。 如果服务返回特定类型,则会在项目中将服务表示为返回的类型。
可以从以下类型的服务创建数据源:
注意
“数据源”窗口中的项取决于服务返回的数据。 某些服务可能没有为“数据源配置”向导创建可绑定的对象提供足够的信息。 在完成向导后,如果该服务返回一个非类型化数据集,则在“数据源”窗口中不会显示任何项。 非类型化数据集不提供架构,因此向导没有足够的信息来创建数据源。
执行以下步骤以从服务创建数据源:
在 Visual Studio 中,选择项目>添加新数据源,以打开数据源配置向导。
对于数据源的类型,选择“服务”。
“添加服务引用”对话框打开。 通过在解决方案资源管理器中右键单击项目,然后选择“添加服务引用”,也可以访问此对话框。
有关完成向导的详细说明,请参阅使用 Visual Studio 在 .NET Framework 中创建和配置数据集。
从对象创建数据源
通过数据源配置向导 ,还可以从公开一个或多个公共属性的任何对象创建数据源。
对象的所有公共属性在“数据源”窗口中都可见。 如果将实体框架与生成的模型配合使用,则此窗口会显示属于应用程序数据源的实体类。
注意
若要支持拖放数据绑定,实现 ITypedList 或 IListSource 接口的对象必须具有默认构造函数。 否则,Visual Studio 无法对数据源对象进行实例化,并且在将项目拖到设计图面时会显示错误。
执行以下步骤以从对象创建数据源:
在 Visual Studio 中,选择项目>添加新数据源,以打开数据源配置向导。
对于数据源的类型,选择“对象”。
在“选择数据对象”页面上,展开树视图中的节点以找到要绑定到的对象。
树视图包含项目的节点,以及项目引用的程序集和其他项目的节点。
若要绑定到未显示在树视图中的程序集或项目中的对象,请选择“添加引用”。
使用“引用管理器”对话框添加对程序集或项目的引用。 添加引用后,Visual Studio 会将程序集或项目添加到树视图中。
注意
可能需要先生成包含对象的项目,对象才会显示在树视图中。
有关完成向导的详细说明,请参阅使用 Visual Studio 在 .NET Framework 中创建和配置数据集。
从 SharePoint 列表创建数据源
还可以使用数据源配置向导从 SharePoint 列表创建数据源。 SharePoint 通过 WCF Data Services 公开数据,因此创建 SharePoint 数据源与从服务创建数据源相同。
注意
此方法需要 SharePoint SDK。
执行以下步骤以从 SharePoint 列表创建数据源:
在 Visual Studio 中,选择项目>添加新数据源,以打开数据源配置向导。
对于数据源的类型,选择“SharePoint”。
使用“添加服务引用”对话框通过指向 SharePoint Server 连接到 SharePoint 数据服务。
有关完成向导的详细说明,请参阅使用 Visual Studio 在 .NET Framework 中创建和配置数据集。