在 Office 2010 中使用 Business Connectivity Services 连接到 .NET Framework 源
**摘要:**了解如何基于 .NET Framework 源创建 Office 2010Business Connectivity Services 外部内容类型。(29 个打印页)
上次修改时间: 2015年3月9日
适用范围: Excel 2010 | Office 2010 | Open XML | PowerPoint 2010 | VBA | Word 2010
**发布时间:**2010 年 2 月
**供稿人:**Joel Krist,iSoftStone
![]() 与 Office 2010 和 SharePoint 2010 一起提供的 Microsoft Business Connectivity Services (BCS) 基于 Microsoft Office SharePoint Server 2007 附带的业务数据目录所提供的功能构建,以引入写回支持和丰富客户端集成等一些新功能。Visual Studio 2010 提供了业务数据连接模型项目模板和几个新工具,它们可简化创建 BCS 模型以及使用外部数据和服务的 Office 解决方案的部署的过程。此直观操作方法演示如何使用 Visual Studio 2010 创建 BCS 外部内容类型。外部内容类型连接到一个 .NET Framework 程序集,该程序集使用 Linq to XML 提供对存储在简单 XML 数据文件中的数据的读/写访问。外部内容类型显示为从 SharePoint 外部列表使用。 ![]() 此直观操作方法演示如何创建和使用基于 .NET Framework 的 BCS 外部内容类型:
创建模拟后端数据存储 此直观操作方法创建一个基于 Customer 实体的外部内容类型。Customer 实体非常简单,它包含两个字段:CustomerID 和 CustomerName。为降低复杂度,此直观操作方法使用简单的 XML 数据文件来模拟客户数据的后端数据存储。以下步骤介绍如何创建客户数据文件。
在 Visual Studio 2010 中创建 SharePoint 2010 业务数据连接模型项目
从模型中删除 Visual Studio 生成的默认实体 创建新的 Business Data Connectivity 共享服务模型时,Visual Studio 将创建一个默认实体。此直观操作方法采用删除默认实体的方法,以便简化新建名为 Customer 的实体所需的步骤。
将 Customer 类添加到项目中 Customer 类封装了客户数据并在稍后介绍的 Customer 实体实现中使用。
将 Customer 实体添加到模型中 下面的步骤介绍如何将 Customer 实体添加到模型中以及如何将 CustomerID 标识符添加到实体中。
将对 Microsoft.BusinessData 的引用添加到项目中 此直观操作方法提供的示例代码使用 Microsoft.BusinessData.dll 程序集所提供的 Microsoft.BusinessData.Runtime 命名空间中定义的异常。
将代码添加到外部内容类型中 下面的步骤介绍如何在"Customer"外部内容类型上实现 Finder、Specific Finder、Creator、Updater 和 Deleter 构造型或方法。 Business Data Connectivity (BDC) 共享服务调用 Finder 方法来请求 Customer 实体的列表。 添加 Finder 方法
添加 Specific Finder 方法 BDC 共享服务调用 Specific Finder 方法来请求特定 Customer 实体的数据。
添加 Creator 方法 BDC 共享服务调用 Creator 方法来创建新的 Customer 实体。
添加 Updater 方法 BDC 共享服务调用 Updater 方法来编辑现有的 Customer 实体。
![]() 此直观操作方法提供了一些步骤和示例代码,它们演示如何创建一个使用 .NET Framework 程序集的 BCS 外部内容类型,该程序集可以对 XML 数据文件执行读/写操作。本节使用此处提供的示例代码中的代码段来描述此直观操作方法所采用的方法。 Finder 方法实现 BDC 共享服务使用 Finder 方法来返回实体列表。在此处所示的演练中,当 SharePoint 在外部列表中显示客户项列表时,会调用 Customer 实体的 Finder 方法。在之前提供的示例代码中,Customer 实体的 Finder 方法由 CustomerService.ReadList 方法实现。 ReadList 方法首先打开 XML 数据文件并获取 Customer 元素的集合。
然后,它创建并返回从每个 Customer 元素创建的 Customer 对象的集合。
Specific Finder 方法实现 BDC 共享服务使用 Specific Finder 方法来返回特定实体实例。在此处所示的演练中,当您选择编辑或查看外部列表中的客户项时,将调用 Customer 实体的 Specific Finder 方法。在之前提供的示例代码中,Customer 实体的 Specific Finder 方法由 CustomerService.ReadItem 方法实现。 ReadItem 方法接受 Int32 参数,该参数表示所请求的客户实例的唯一 ID。
ReadItem 方法首先打开 XML 数据文件并获取 Customer 元素的集合。 然后,它从其 ID 属性等于传递给此方法的客户 ID 的每个 Customer 元素创建 Customer 对象的集合。由于客户 ID 是唯一的,该集合应只包含一个客户,因此,此方法返回该集合中的第一项。
Creator 方法实现 BDC 共享服务调用 Creator 方法来创建新的实体实例。在之前所示的演练中,当您向外部列表中添加新客户项时,将调用 Customer 实体的 Creator 方法。在提供的示例代码中,Customer 实体的 Creator 方法由 CustomerService.Create 方法实现。 Create 方法接受一个 Customer 参数,该参数表示通过外部列表的新项表单输入的客户数据。
Create 方法首先打开 XML 数据文件并获取顶级 Customers 元素,然后从 NextCustomerId 属性中读取要用于新客户的 ID 值。
此方法将新建一个 Customer 对象并将其 CustomerID 属性设置为所读取的值,并且将该对象的 CustomerName 属性设置为传递给此方法的 Customer 对象的 CustomerName 属性值。
接下来,此方法创建新的 Customer 和 CustomerName 元素,设置这两个元素的 Customer ID 属性和 CustomerName 值,并将这两个元素添加为顶级 Customers 元素。
最后,递增 NextCustomerId 属性的值,并将所有更改保存回 XML 数据文件。
Updater 方法实现 BDC 共享服务调用 Updater 方法来编辑现有的实体实例。在此处所示的演练中,当用户编辑外部列表中的客户项时,将调用 Customer 实体的 Updater 方法。在之前提供的示例代码中,Customer 实体的 Updater 方法由 CustomerService.Update 方法实现。 Update 方法接受一个 Customer 参数(表示用户通过外部列表的编辑项表单输入的客户数据)和一个 Int32 参数(表示要更新的客户的唯一 ID)。
Update 方法首先打开 XML 数据文件并获取顶级 Customers 元素。
然后,它从其 ID 属性等于传递给此方法的客户 ID 的每个 Customer 元素创建 Customer 对象的集合。
由于客户 ID 是唯一的,该集合应只包含一个客户,因此,此方法会获取该集合中的第一项并将其值设置为传递给此方法的 Customer 对象的 CustomerName 属性值。最后,将所有更改保存回 XML 数据文件。
Deleter 方法实现 BDC 共享服务调用 Deleter 方法来删除现有的实体实例。在此处所示的演练中,当用户删除外部列表中的客户项时,将调用 Customer 实体的 Deleter 方法。在之前提供的示例代码中,Customer 实体的 Deleter 方法由 CustomerService.Delete 方法实现。 Delete 方法接受一个 Int32 参数,该参数表示要删除的客户的唯一 ID。
Delete 方法首先打开 XML 数据文件并获取顶级 Customers 元素。
然后,它从其 ID 属性等于传递给此方法的客户 ID 的每个 Customer 元素创建 Customer 对象的集合。
由于客户 ID 是唯一的,该集合应只包含一个客户,因此,此方法将获取该集合中的第一项并删除它。最后,将所有更改保存回 XML 数据文件。
|
![]() 长度:25:12 | 大小:28.6 MB | 类型:WMV ![]()
|