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 フォームと置き換える必要があります。