HOW TO:加入特定搜尋方法

您可以建立「特定搜尋」(Specific Finder) 方法,傳回單一實體執行個體。 當使用者在商務資料 Web 組件或外部清單中選取實體時,商務資料連接 (BDC) 服務就會執行特定搜尋方法。 如需詳細資訊,請參閱 設計商務資料連接模型

若要建立特定搜尋方法

  1. 在 BDC 設計工具上,選取實體。 如需如何將實體加入至 Visual Studio [BDC 設計工具] 的詳細資訊。 如需詳細資訊,請參閱 HOW TO:將實體加入至模型

  2. 按一下 [檢視] 功能表上的 [其他視窗],然後按一下 [BDC 方法詳細資料]。

    [BDC 方法詳細資料] 視窗隨即開啟。 如需 [BDC 方法詳細資料] 視窗的詳細資訊,請參閱 BDC 模型設計工具概觀

  3. 在 [BDC 方法詳細資料] 視窗的 [新增方法] 下拉式清單中,選取 [建立特定搜尋方法]。

    Visual Studio 會將下列項目加入至模型。 這些項目會顯示在 [BDC 方法詳細資料] 視窗中。

    • 方法。

    • 此方法的輸入參數。

    • 方法的傳回參數。

    • 各個參數的型別描述元。

    • 此方法的方法執行個體。

    如需詳細資訊,請參閱 設計商務資料連接模型

  4. 開啟 Visual Studio 的 [屬性視窗]。

  5. 將傳回參數的型別描述元設定為實體型別描述元。 如需如何建立實體型別描述元的詳細資訊,請參閱 HOW TO:定義參數的型別描述元

    注意事項注意事項

    如果您已經在實體中加入了搜尋方法,就不需執行此步驟。 Visual Studio 會使用您在搜尋方法中定義的型別描述元。

    注意事項注意事項

    如果實體型別的識別碼欄位代表資料庫資料表中某個自動產生的欄位,請將識別碼欄位的 [唯讀] 屬性設定為 [True]。

  6. 在 [方法詳細資料] 視窗中,選取方法的方法執行個體。

    根據預設,Visual Studio 會將此方法命名為 [MethodInstance1]。

  7. 在 [屬性視窗] 中,將 [傳回參數名稱] 屬性設為方法之傳回參數的名稱。 如需方法執行個體屬性的詳細資訊,請參閱 MethodInstance (英文)。

  8. 在 [方案總管] 中,以滑鼠右鍵按一下針對實體所產生的服務程式碼檔案,然後按一下 [檢視程式碼]。

    實體服務程式碼檔案會在程式碼編輯器中開啟。 如需實體服務程式碼檔案的詳細資訊,請參閱建立商務資料連接模型

  9. 將程式碼加入至特定搜尋方法。 這個程式碼將執行下列工作:

    • 從資料來源擷取記錄。

    • 將實體傳回至 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;
    }
    

請參閱

工作

HOW TO:加入搜尋方法

HOW TO:加入建立者方法

HOW TO:加入刪除者方法

HOW TO:加入更新者方法

HOW TO:將參數加入至方法

HOW TO:定義方法執行個體

概念

BDC 模型設計工具概觀

其他資源

設計商務資料連接模型