次の方法で共有


Finder メソッドを追加する

ビジネス データ接続 (BDC) サービスで Web パーツまたはリスト内のエンティティの一覧を表示できるようにするには、Finder メソッドを作成する必要があります。 Finder メソッドは、エンティティ インスタンスのコレクションを返す特殊なメソッドです。 詳細については、ビジネス データ接続モデルの設計に関するページを参照してください。

Finder メソッドを作成するには

  1. BDC デザイナーで、エンティティを選択します。

    詳細については、「方法: モデルにエンティティを追加する」を参照してください。

  2. メニュー バーで、[表示]>[その他のウィンドウ]>[BDC メソッドの詳細] の順に選択します。

    [BDC メソッドの詳細] ウィンドウが開きます。 [BDC メソッドの詳細] ウィンドウの詳細については、「BDC モデルのデザイン ツールの概要」を参照してください。

  3. [メソッドの追加] 一覧で、[Finder メソッドの作成] を選択します。

    Visual Studio によって、メソッド、戻り値パラメーター、型記述子が追加されます。

  4. 型記述子をエンティティ コレクション型記述子として構成します。 エンティティ コレクション型記述子を作成する方法の詳細については、「方法: パラメーターの型記述子を定義する」を参照してください。

    Note

    このエンティティに Specific Finder メソッドを追加している場合、この手順を実行する必要はありません。 Visual Studio では、その Specific Finder メソッドで定義されている型記述子を使用します。

  5. ソリューション エクスプローラーで、エンティティに対して生成されたサービス コード ファイルのショートカット メニューを開き、[コードの表示] を選択します。 サービス コード ファイルの詳細については、「ビジネス データ接続モデルを作成する」を参照してください。

  6. Finder メソッドにコードを追加します。 このコードは、以下のタスクを実行します。

    • データ ソースからデータを取得します。

    • BDC サービスにエンティティの一覧を返します。

      次の例では、SQL Server 用の AdventureWorks サンプル データベースからのデータを使用して、Contact エンティティのコレクションを返します。

    Note

    ServerName フィールドの値をサーバーの名前に置き換えてください。

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