可以通过创建特定的 Finder 方法返回单个实体实例。业务数据连接(bdc) (BDC)服务执行特定的finder方法,当用户在业务数据web部件时的实体或外部列表。有关更多信息,请参见设计业务数据连接模型。
创建特定的 Finder 方法
在BDC设计器中,选择实体。
有关如何添加实体的信息到Visual Studio的BDC设计器,请参见 如何:向模型添加实体。
在菜单栏上,依次选择 *** 视图 ***,*** 其他Windows ***,*** BDC方法详细信息 ***。
将打开**“BDC 方法详细信息”**窗口。有关该窗口的更多信息,请参见 BDC 模型设计工具概述。
在 *** 添加方法 *** 列表中,选择 *** 创建特定的finder方法 ***。
Visual Studio 将以下元素添加到模型中。这些元素将显示在**“BDC 方法详细信息”**窗口中。
方法。
该方法的输入参数。
该方法的返回参数。
每个参数的类型描述符。
该方法的一个方法实例。
有关更多信息,请参见设计业务数据连接模型。
打开 Visual Studio 的**“属性”**窗口。
将返回参数的类型说明符配置为实体类型说明符。有关如何创建实体类型描述符的信息,请参见 如何:定义参数的类型描述符。
说明
如果添加了一个finder方法。该实体,则不必执行此步骤。Visual Studio 将使用您在特定的 Finder 方法中定义的类型说明符。
说明
如果实体类型的标识符字段会自动生成的数据库表中表示一个字段,设置标识符字段的 *** 只读 *** 属性设置为 *** True ***。
在 *** 方法详细信息 *** 窗口中,选择的方法实例。
在**“属性窗口”中,将“返回参数名称”**属性设置为该方法的返回参数的名称。有关方法实例属性的更多信息,请参见 MethodInstance。
在 *** 解决方案资源管理器 ***,请打开的实体生成服务代码文件的快捷菜单,然后选择 *** 查看代码 ***。
在代码编辑器中打开实体服务代码文件。有关实体服务代码文件的更多信息,请参见创建业务数据连接模型。
将代码添加到特定的 Finder 方法。这段代码执行下列任务:
从数据源中检索记录。
将实体返回到BDC服务。
下面的示例返回 SQL Server 的 AdventureWorks 示例数据库中的联系人。
说明
用您的服务器名称替换 ServerName 字段的值。
Public Shared Function ReadItem(ByVal contactID As Integer) As Contact Const ServerName As String = "MySQLServerName" Dim dataContext As AdventureWorksDataContext = _ New AdventureWorksDataContext("Data Source=" & ServerName & _ ";Initial Catalog=AdventureWorks;Integrated Security=True") Dim Contact As Contact = _ (From TempContacts In dataContext.Contacts.AsEnumerable().Take(20) _ Where TempContacts.ContactID = contactID _ Select TempContacts).[Single]() Return Contact End Function
public static Contact ReadItem(int contactID) { const string ServerName = "MySQLServerName"; AdventureWorksDataContext dataContext = new AdventureWorksDataContext ("Data Source=" + ServerName + ";" + "Initial Catalog=AdventureWorks;Integrated Security=True"); Contact Contact = (from contacts in dataContext.Contacts.AsEnumerable().Take(20) where contacts.ContactID == contactID select contacts).Single(); return Contact; }