如何:添加 Finder 方法
若要启用业务数据连接服务以显示 Web 部件或列表中实体的列表,必须创建 Finder 方法。 Finder 方法是一个用于返回实体实例集合的特殊方法。 有关更多信息,请参见设计业务数据连接模型。
创建 Finder 方法
在 BDC 设计器中选择一个实体。 有关如何在 Visual Studio 中将实体添加到 BDC 设计器的更多信息, 有关更多信息,请参见如何:向模型添加实体。
在**“视图”菜单上单击“其他窗口”,然后单击“BDC 方法详细信息”**。
将打开**“BDC 方法详细信息”窗口。 有关“BDC 方法详细信息”**窗口的更多信息,请参见 BDC 模型设计工具概述。
在**“BDC 方法详细信息”窗口的“添加方法”下拉列表中,选择“创建 Finder 方法”**。
Visual Studio 将添加一个方法、一个返回参数和一个类型描述符。
将类型描述符配置为实体集合类型描述符。 有关如何创建实体集合类型描述符的更多信息,请参见如何:定义参数的类型描述符。
提示
如果已向实体添加特定的 Finder 方法,则不必执行此步骤。 Visual Studio 将使用您在特定的 Finder 方法中定义的类型描述符。
在**“解决方案资源管理器”中,右击为该实体生成的服务代码文件,然后单击“查看代码”**。 有关服务代码文件的更多信息,请参见创建业务数据连接模型。
将代码添加到 Finder 方法。 这段代码将执行下列任务:
从数据源中检索数据。
将实体列表返回到 BDC 服务。
下面的示例使用 SQL Server 的 AdventureWorks 示例数据库中的数据,返回 Contact 实体的集合。
提示
用您的服务器名称替换 ServerName 字段的值。
Public Shared Function ReadList() As IEnumerable(Of Contact) Const ServerName As String = "MySQLServerName" Dim dataContext As AdventureWorksDataContext = _ New AdventureWorksDataContext("Data Source=" & ServerName & _ ";Initial Catalog=AdventureWorks;Integrated Security=True") Dim Contacts As IEnumerable(Of Contact) = _ From TempContacts In dataContext.Contacts.Take(20) _ Select TempContacts Return Contacts End Function
public static IEnumerable<Contact> ReadList() { const string ServerName = "MySQLServerName"; AdventureWorksDataContext dataContext = new AdventureWorksDataContext ("Data Source=" + ServerName + ";" + "Initial Catalog=AdventureWorks;Integrated Security=True"); IEnumerable<Contact> Contacts = from contacts in dataContext.Contacts.Take(20) select contacts; return Contacts; }