可以通过向模型文件添加实体和方法,为业务数据连接(BDC)服务开发模型。 实体描述数据字段的集合。 例如,实体可以表示数据库中的表。 方法执行一项任务,例如添加、删除或更新实体表示的数据。 有关详细信息,请参阅 将业务数据集成到 SharePoint 中。
添加实体
可以通过将实体从 Visual Studio 工具箱拖动或复制到 BDC 设计器来添加实体。 有关详细信息,请参阅 “如何:向模型添加实体”。
在类中定义实体对象的字段。 例如,您可能会在 Customer 类中添加一个名为 Address 的字段。 可以将新类添加到项目,也可以使用其他工具(如对象关系设计器(O/R 设计器)创建的现有类。 实体的名称和表示实体的类的名称不必匹配。 在模型中定义方法时,将类与实体相关联。
添加方法
当用户查看、添加、更新或删除基于模型的列表或 Web 部件中的信息时,BDC 服务会调用模型中的方法。 必须为用户可执行的每个任务向模型添加一个方法。 通过从 BDC 方法详细信息 窗口中选择五种基本方法类型中的任何一种来创建方法。 下表介绍了 BDC 模型的五种基本方法。
| 方法 | Description |
|---|---|
| Finder | 返回实体实例的集合。 当用户打开列表或 Web 部件时调用。 有关详细信息,请参阅 如何:添加 Finder 方法。 |
| 特定查找器 | 返回特定的实体实例。 当用户查看列表中特定项的详细信息时调用。 有关详细信息,请参阅 如何:添加特定 Finder 方法。 |
| Creator | 将新数据添加到实体的数据源。 当用户选择基于模型的列表功能区上的 “新建项 ”按钮时调用。 有关详细信息,请参阅 如何:添加一个创建者方法。 |
| 更新程序 | 修改列表中的数据。 当用户更新列表中的信息时调用。 有关详细信息,请参阅 “如何:添加 Updater 方法”。 |
| 删除器 | 删除数据。 当用户从列表中删除项时调用。 有关详细信息,请参阅 如何:添加 Deleter 方法。 |
定义方法参数
创建方法时,Visual Studio 会添加适合方法类型的输入和输出参数。 这些参数只是占位符。 在大多数情况下,必须修改参数,以便参数传入或返回正确的数据类型。 例如,默认情况下,Finder 方法返回一个字符串。 在大多数情况下,需要修改 Finder 方法的返回参数,以便返回实体集合。 可以通过修改参数的类型描述符来实现此目的。 类型描述符是描述参数数据类型的属性集合。 有关详细信息,请参阅 “如何:定义参数的类型描述符”。
使用 Visual Studio 可以在模型中的参数之间复制类型描述符。 例如,您可能为方法的返回参数定义一个名为CustomerTD的类型描述符GetCustomer。 可以在 CustomerTD中复制类型描述符,然后将该类型描述符粘贴到方法的CreateCustomer输入参数。 这可以防止你多次定义同一类型描述符。
方法实例
创建方法时,Visual Studio 会添加默认方法实例。 方法实例是对方法的引用,以及参数的默认值。 单个方法可以有多个方法实例。 每个实例都是方法签名和一组默认值的组合。 有关详细信息,请参阅 “如何:定义参数的类型描述符”。
运行项目时,方法实例将显示在 SharePoint 列表上方的下拉列表中。 用户可以选择方法实例来查看数据。
若要将默认值添加到方法实例,必须直接修改模型的 XML。 有关详细信息,请参阅 DefaultValue。
添加筛选器描述符
模型的使用者可能想要检索与某些条件匹配的实体的实例。 若要启用此功能,可以将筛选器描述符添加到方法。 筛选器描述符使模型使用者能够在执行之前将值传递给方法来筛选方法结果集。 有关详细信息,请参阅 如何:为操作添加过滤参数以限制来自外部系统的实例。
SharePoint 提供了多个功能,使用户能够提供筛选器值。 例如,业务数据 Web 部件为筛选器提供文本框。 用户可以通过在文本框中输入值来限制列表中的数据。 有关如何向方法添加筛选器描述符的详细信息,请参阅 “如何:向 Finder 方法添加筛选器描述符”。
筛选器描述符属性
必须设置筛选器描述符的 关联类型描述符、名称和类型属性的值。 所有其他属性都是可选的。
关联的类型描述符属性将筛选器描述符与输入参数相关联。 当用户提供筛选器值时,BDC 服务将使用输入参数将该值传递到方法中。
Type 属性描述要使用的筛选模式。 在 SharePoint 中,所选的筛选模式会影响用户界面(UI)中显示的文本。 例如,对于比较器筛选模式,文本 等于 在业务数据 Web 部件上方作为控件显示。 有关每个筛选模式的详细信息,请参阅 BDC 支持的筛选器类型。
有关筛选器描述符的属性的详细信息,请参阅 FilterDescriptor。
提供默认值
在某些情况下,用户可能无法提供筛选器值。 可以通过向方法实例添加默认值或在方法代码中设置默认值来提供默认值。 有关如何向方法实例添加默认值的详细信息,请参阅 MethodInstance。 有关如何在方法代码中设置输入参数的默认值的示例,请参阅 “如何:向 Finder 方法添加筛选器描述符”。
验证模型
可以在开发期间验证模型。 Visual Studio 可识别可阻止模型按预期运行的问题。 这些问题显示在 Visual Studio 错误列表中。
可以通过打开 BDC 设计器的快捷菜单并选择 “验证”来验证模型。 如果模型包含任何错误,它们将显示在 错误列表中。 通过双击列表中的错误,可以快速将光标移动到包含错误的代码。 或者,您可以反复按 F8 或 Shift+F8 键,以在错误列表中向前或向后逐步浏览。
当以某种方式违反模型规则时,可能会发生验证错误。 例如,如果类型描述符的 IsCollection 属性设置为 true,但不存在子类型描述符,则将显示验证错误。 可能需要参考 BDC 模型的规则来了解 Visual Studio 错误列表中出现的一些错误。 有关 BDC 模型规则的详细信息,请参阅 BDCMetadata 架构。
调试包含模型的解决方案
可以像在 Visual Studio 中调试任何代码一样调试代码。 若要调试代码,请在代码中的任何位置设置断点,然后启动调试器。 Visual Studio 将打开 SharePoint 网站。 在 SharePoint 中,创建使用业务数据的列表或 Web 部件。 然后,可以单步执行代码。 有关调试 SharePoint 项目的详细信息,请参阅 SharePoint 解决方案疑难解答。
可以在您添加到项目的自定义程序集中的代码进行调试。 但是,若要调试自定义程序集中的代码,必须将程序集添加到解决方案包。 有关详细信息,请参阅 “如何:添加和删除其他程序集”。
有关将自定义程序集添加到项目的详细信息,请参阅 How to: Include a custom assembly in a BDC feature.
配置 BDC 安全性
在调试解决方案之前,可能需要修改 SharePoint 中的安全设置。 若要修改这些设置,请在 SharePoint 2010 管理中心网站中打开 Business Data Connectivity Service 应用程序。 在 “设置元数据存储权限 ”对话框中,添加用户帐户,然后选择以下任一选项:
| 任务 | 选项 |
|---|---|
| 将模型部署到 BDC 服务。 | Edit |
| 在模型中使用外部内容类型(实体)创建列表和 Web 部件。 | 在客户端中选择 |
| 创建、读取、更新和删除实体数据。 | Execute |
有关这些设置的详细信息,请参阅 Business Data Connectivity Service Management。
还可以为单个模型或外部内容类型设置安全权限。 有关如何设置模型的安全权限的详细信息,请参阅 BDC 模型管理。 有关如何设置外部内容类型的安全权限的详细信息,请参阅 外部内容类型管理。
注释
使用这些设置在本地 SharePoint Server 上调试解决方案。 有关如何在生产 SharePoint 服务器上配置 BDC 相关的安全设置的详细信息,请参阅 Business Data Connectivity Services 安全概述。
收回损坏的模型
首次启动调试器时,Visual Studio 会将整个模型部署到 SharePoint。 此后,Visual Studio 会使用部署之间所做的任何更改更新 SharePoint 中的模型。
在某些情况下,你可能希望 Visual Studio 完全从 SharePoint 中收回模型。 例如,模型可能已损坏。 若要将模型重新部署到 SharePoint,请将模型的 增量更新 属性设置为 False,然后启动调试器。 选择表示 BDC 资源管理器中的模型的节点时,“增量更新”属性将显示在“属性”窗口中。 默认情况下,模型的名称为 BdcModel1。
更改模型中实体的标识符名称
如果在部署模型后更改标识符的名称,则可能会收到部署错误。 无法通过将模型的 增量更新 属性设置为 False 来解决此错误。 必须手动收回模型,然后再次部署解决方案。 有关详细信息,请参阅 SharePoint 解决方案疑难解答。 在最初部署模型之前,可以通过将 增量更新 属性设置为 False 来避免此错误。
查找 BDC 模型元素的文档
Visual Studio 将 XML 元素添加到模型,用于创建的每个实体、方法或其他项。 元素属性在 “属性” 窗口中显示为属性。 有关 Visual Studio 在设计模型时生成的元素和属性的信息,请参阅 BDCMetadata 架构。
相关主题
| Title | Description |
|---|---|
| BDC 模型设计工具概述 | 介绍可用于直观设计 BDC 模型的工具。 |
| 如何:向模型添加实体 | 演示如何向模型添加外部内容类型或实体。 |
| 如何添加 Finder 方法 | 演示如何添加一种方法,使用户能够查看列表或 Web 部件中的实体列表。 |
| 如何:添加特定的 Finder 方法 | 演示如何添加使用户能够查看特定实体的详细信息的方法。 |
| 如何:添加创建者方法 | 演示如何添加一种方法,使用户能够直接从列表或 Web 部件将记录添加到数据源。 |
| 如何添加 Deleter 方法 | 演示如何添加一种方法,使用户能够使用列表或 Web 部件的用户界面(UI)中的选项从数据源中删除数据。 |
| 如何添加更新器方法 | 演示如何添加一种方法,使用户能够直接从列表或 Web 部件更改数据源中的数据记录。 |
| 如何:向方法添加参数 | 演示如何使用 Visual Studio 中的“方法详细信息”窗口向方法添加输入和返回参数。 |
| 如何:定义参数的类型描述符 | 演示如何在模型中定义参数数据类型。 |
| 如何:定义方法实例 | 演示如何创建 BDC 执行的方法的实例。 |
| 如何:向 Finder 方法添加筛选器描述符 | 演示如何允许用户限制 Finder 方法返回的实例数。 |
| 创建实体之间的关联 | 介绍如何在模型中定义实体之间的关系。 业务数据 Web 部件、外部列表和自定义应用程序可以在用户界面(UI)中显示这些数据关系。 |
| 如何:在实体之间创建关联 | 演示如何定义模型中实体之间的关系。 |
| 演练:使用业务数据在 SharePoint 中创建外部列表 | 提供分步说明,说明如何创建和测试在 SharePoint 外部列表中显示联系人的模型。 |
| 将业务数据集成到 SharePoint 中 | 概述如何为 BDC 服务创建和设计模型。 |