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