实现 Finder

上次修改时间: 2010年4月19日

适用范围: SharePoint Server 2010

本文内容
说明
语法
备注
示例

说明

Finder 是返回多个实体实例的特殊方法实例。此构造型用于按指定筛选标准读取项的列表。例如,指定名为"Customer"的业务对象时,此方法可用于获取其订单金额在某一范围内的客户列表。

外部内容类型可以有一个或多个返回多个实例的 Finder 方法。如果没有定义 Finder 方法,则您的外部内容类型无法与 Business Connectivity Services 的演示功能(例如外部列表和业务数据列表 Web 部件)一起使用。

语法

以下是 Finder 方法的典型方法签名:

public static EntityDataType[] GetEntities ()

备注

若要成为合格的 Finder,相应的方法必须满足以下条件:

  • 应将筛选标准作为输入参数,以限制返回的项的数目(尤其当返回大量的项时)。

  • 应返回外部内容类型的项集合。

  • 应返回项的标识符,作为每个项返回的视图的一部分。

  • 应支持丰富筛选(有关支持哪些筛选器的详细信息,请参阅 Business Connectivity Services 中的筛选支持)。

  • 建议 Finder 方法支持分页或批量处理(如果它返回许多项)。

  • 此方法返回的每个项的"视图"必须等于特定 Finder 方法的视图,或者是它的一部分。这是因为创建操作和更新操作依赖于特定查找工具视图。如果查找工具返回更多字段,则无法更新额外的字段。另外,如果 Finder 方法只返回一部分数据,则执行 SpecificFinder 调用以返回其余部分,以确保缓存的项是完整的。因此,建议特定查找工具和该查找工具具有相同的视图。如果特定的查找工具调用和查找工具方法具有相同视图,Business Connectivity Services 会优化对外部系统执行的调用。

在 SharePoint 2010 中,外部内容类型可以包含多个具有不同视图的查找工具。在以下这些方案中,多个查找工具很有用:

  1. **基于角色的视图:**一个 Finder 方法可用于向同级和全局通讯簿显示受限视图,而另一个 Finder 方法可用于向雇员或雇员的经理显示另一个详细视图。

  2. **缓存优化:**Business Connectivity Services 为将业务数据与 Microsoft Office 客户端(例如 Outlook 和 SharePoint Workspace)断开提供了丰富的支持。管理员可以禁用详细视图的脱机功能,以优化客户端的缓存使用情况。这样,用户可以在脱机时使用有限的视图,在联机时访问详细视图。

备注

如果一个业务对象有多个具有不同视图的特定查找工具,建议每个特定查找工具方法至少具有一个 Finder 方法。

示例

代码段:实现 Finder

请参阅

概念

XML 代码段:为 Finder 方法建模

代码段:执行外部内容类型的 Finder 方法实例