添加特定的 Finder 方法

可以创建特定的 Finder 方法来返回单个实体实例。 当用户选择业务数据 Web 部件或外部列表中的实体时,Business Data Connectivity (BDC) service 将执行特定的 Finder 方法。 有关详细信息,请参阅设计业务数据连接模型

创建特定的 Finder 方法

  1. 在 BDC 设计器上,选择一个实体。

    若要了解如何在 Visual Studio 中向“BDC 设计器”添加实体,请参阅如何:向模型添加实体

  2. 在菜单栏上,依次选择“视图”>“其他窗口”、“BDC 方法详细信息” 。

    “BDC 方法详细信息”窗口将打开。 有关该窗口的详细信息,请参阅 BDC 模型设计工具概述

  3. 在“添加方法”列表中,选择“创建特定的 Finder 方法” 。

    Visual Studio 将以下元素添加到模型中。 这些元素显示在“BDC 方法详细信息”窗口中。

    • 方法。

    • 方法的输入参数。

    • 方法的返回参数。

    • 每个参数的类型描述符。

    • 方法的方法实例。

      有关详细信息,请参阅设计业务数据连接模型

  4. 打开 Visual Studio 的“属性”窗口。

  5. 将返回参数的类型描述符配置为实体类型描述符。 若要了解如何创建实体类型描述符,请参阅如何:定义参数的类型描述符

    注意

    如果向实体添加了 Finder 方法,则无需执行此步骤。 Visual Studio 将使用在 Finder 方法中定义的类型描述符。

    注意

    如果实体类型的标识符字段表示数据库表中自动生成的字段,请将标识符字段的只读属性设置为 True 。

  6. 在“方法详细信息”窗口中,选择该方法的方法实例。

  7. 在“属性”窗口中,将“返回参数名称”属性设置为该方法的返回参数的名称 。 有关方法实例属性的详细信息,请参阅 MethodInstance

  8. 在解决方案资源管理器中,打开为实体生成的服务代码文件的快捷菜单,然后选择“查看代码” 。

    实体服务代码文件将在代码编辑器中打开。 有关该实体服务代码文件的详细信息,请参阅创建业务数据连接模型

  9. 向特定的 Finder 方法添加代码。 此代码执行以下任务:

    • 从数据源检索记录。

    • 将实体返回到 BDC 服务。

      以下示例返回 SQL Server AdventureWorks 示例数据库中的联系人。

      注意

      ServerName 字段的值替换为你的服务器名称。

      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;
      }