キャッシュ サブスクリプションとは

最終更新日: 2009年9月22日

適用対象: SharePoint Server 2010

この記事の内容
クエリ
明示的な ID
サブスクリプションの関連付け

サブスクリプションは、Business Connectivity Services (BCS) ソリューションの展開中に、キャッシュに格納され、BCS によって自動生成されるものを定義します。サブスクリプションは XML ファイル (subscription.xml) として表され、展開フォルダーに格納されています。サブスクリプションは展開時に自動生成されますが、オブジェクト モデルを使用してプログラムで変更できます。XML ファイルを編集しても影響はありません。サブスクリプションは削除できません。

サブスクリプションに含まれているもの:

  • クエリ: 必要なエンティティ インスタンスをキャッシュに格納するために実行する必要があるクエリ (Finder)。

  • 明示的な ID: ID を明示的に提供することにより、外部データ ソースから取得するその他のエンティティ インスタンス。

  • 関連付け: 外部データ ソースからの、対象とする関連エンティティ インスタンス。

このシンプルな顧客ソリューションの例では、顧客外部リストが Outlook に接続されると、展開プロセスの一部として subscription.xml が作成されます。次のいくつかのトピックで、このサブスクリプションに含まれているものを確認します。

クエリ

サブスクリプションには、通常 1 つ以上のクエリが含まれます。クエリは、必要なエンティティ インスタンスをキャッシュに格納するために実行する必要がある、モデルで定義される Finder メソッド インスタンスです。クエリはフィルター値を取ることができます。そのため、サブスクリプションには複数のクエリを含めることができ、すべて同じ Finder メソッド インスタンスを使用しますが、異なるフィルター値を使用します。たとえば、この顧客ソリューションでは 3 つのクエリがあります。

  • クエリ 1: GetCustomers,filter value = CA, カリフォルニア州の顧客を返します

  • クエリ 2: GetCustomers,filter value = WA, ワシントン州の顧客を返します

  • クエリ 3: GetCustomers,filter value = NJ, ニュージャージー州の顧客を返します

明示的な ID

キャッシュ サブスクリプションには、明示的な ID を含めることができます。ID は、クエリから返されたエンティティ インスタンス以外に必要とするエンティティ インスタンスの一意の識別子を表します。そのため、この顧客ソリューションの例では、たとえばカリフォルニア州、ワシントン州、ニュージャージー州の顧客の他にオレゴン州の顧客 #123 と顧客 #157 を確認したい場合などに、(subscription.xml ファイルを編集するか、オブジェクトモデルを使用して) サブスクリプションを編集し、いくつかの明示的な ID を追加できます。

サブスクリプションの関連付け

サブスクリプションには、1 つ以上のサブスクリプションの関連付けを含めることもできます。サブスクリプションの関連付けは、関連するエンティティ インスタンスをキャッシュに格納するために実行できる、モデルで定義された AssociationNavigator メソッド インスタンスです。

注意

サブスクリプションの関連付けは、必要な場合に限り追加してください。これは、サブスクリプションの関連付けはキャッシュ内でのオーバーヘッドが大きく、アプリケーションのパフォーマンスに重大な影響を及ぼす可能性があるためです。このことは、後のセクションで詳しく説明します。