SpecificFinder の実装

最終更新日: 2010年4月20日

適用対象: SharePoint Server 2010

この記事の内容
説明
構文
備考

説明

SpecificFinder は、外部アイテムを 1 つだけ返します。このステレオタイプは、識別子が指定されたアイテムを読み取るために使用されます。たとえば Customer ビジネス オブジェクトの場合、このステレオタイプは特定の顧客 ID に対応する詳細な顧客情報を取得するために使用できます。

外部コンテンツ タイプには、識別子が指定された 1 つのインスタンスを返す SpecificFinder メソッド インスタンスが 1 つ以上必要です。外部コンテンツ タイプの SpecificFinder メソッド インスタンスを定義しないと、その外部コンテンツ タイプに対してアクションを設定したり、検索やインデックス処理を行うことができません。また関連リスト Web パーツ以外のすべての Business Connectivity Services 表示機能で外部コンテンツ タイプを使用することができません。

構文

以下は、SpecificFinder のための一般的なメソッド署名です。

EntityDataType GetEntityById(IdType1 id1, ...)

備考

SpecificFinder の条件を指定するには、対応するメソッドで以下を行うようにします。

  • 外部コンテンツ タイプのすべての識別子を入力として取得します。

  • 一連のフィールドを持つ構造 (Business Connectivity Services ではビューと呼ばれます。このトピックの定義を参照) を返します。

SpecificFinder の条件を指定するには、対応するメソッドで以下を行う必要があります。

  • 1 つの外部コンテンツ タイプの 1 つの外部アイテムを返します。

  • すべての外部アイテム識別子が含まれるフィールドを返します。

注意

通常、読み取り操作は外部システムをクエリし、データを取得します。SpecificFinder メソッドで null 値を適切に処理するようにしてください。外部システムでは一部のフィールド (hobbies や address など) が null である可能性があります。適切なエラー処理と例外処理を行うことが重要です。したがって、コード内で null や空文字列を確認し、修正します。また型記述子で NormalizeString 解釈を使用することも検討してください。

.NET Connectivity Assembly で、特定の条件に従って、表 1 に示された例外をスローします。

表 1. 例外

例外名

使用するタイミング

ObjectNotFoundException

このアイテムが外部システムにありませんでした (削除された可能性があります)。

ObjectDeletedException

アイテムが外部システムから削除されました。「アイテムが削除されたこと」と「アイテムを保持していないこと」を区別できる場合は、この例外をスローします。

注意

Web サービスでは、アイテムが見つからなければ、SpecificFinder は null を返します。

ビューはフィールドの集まりで、各フィールドには、名前、型、および任意でローカライズされた表示名が含まれます。このビューは、概略の定義です。クエリの一部として返されたデータと概略の定義を含む SQL データベースのビューとは異なります。

たとえば Employee が外部コンテンツ タイプの場合、Employee のビューには以下のフィールドを含めることができます。

  • ID

  • Name

  • Address

  • Designation

Business Connectivity Services では、同じビジネス オブジェクトの複数のビューを使用できます。たとえば Employee のもう 1 つのビューには、以下のフィールドを含めることができます。

  • ID

  • Name

  • Address

  • Designation

  • AnnualIncome

  • StartDate

  • SeniorityLevel

  • EmergencyContact

SharePoint 2010 では、異なるビューを持つ複数の Specific Finder を外部コンテンツ タイプに含めることができます。以下に、複数の Specific Finder が有益となるいくつかのシナリオについて説明します。

  • **ロールベースのビュー:**EmployeeId の場合、1 つの固有の検索メソッドを使用して、制限されたビューをピアに提示することができます。さらに、もう 1 つの固有の検索メソッドを使用して、別の詳細ビューを従業員または従業員のマネージャーに提示することができます。

  • **キャッシュの最適化:**Business Connectivity Services は、Outlook や SharePoint Workspace のように、Microsoft Office クライアントでビジネス データをオフラインにするための豊富なサポートを提供します。管理者は詳細ビューに対するオフライン処理を無効にして、クライアント側のキャッシュ性能を最適化できます。これによりユーザーは、制限されたビューをオフラインにし、オンラインで詳細表示にアクセスできます。

注意

ビジネス オブジェクトの異なるビューを持つ複数の Specific Finder がある場合は、固有の検索メソッドごとに 1 つ以上の検索メソッドを使用することをお勧めします。

注意

以下は、BDC と外部リストに関するその他の注記です。

  • BDC は読み取り専用のフィールドをサポートします。

  • 外部リストは、複雑な型をサポートしません。

  • 外部リスト用に作成された既定のフォームは、複雑な型を処理する Microsoft InfoPath 2010 フォームと置き換える必要があります。

コード スニペット: SpecificFinder の実装

関連項目

概念

XML スニペット: SpecificFinder メソッドのモデリング