次の方法で共有


Business Data Connectivity モデルのデザイン

Business Data Connectivity (BDC) サービスのモデルを開発するには、モデル ファイルにエンティティとメソッドを追加します。 エンティティは、データ フィールドのコレクションを表します。 たとえば、データベース内のテーブルをエンティティで表現できます。 メソッドは、エンティティによって表現されるデータの追加、削除、更新などのタスクを実行します。 詳細については、「SharePoint へのビジネス データの統合」を参照してください。

エンティティの追加

エンティティを追加するには、Visual Studio のツールボックスから BDC デザイナーに [エンティティ] をドラッグします。 詳細については、「方法: モデルにエンティティを追加する」を参照してください。

クラス内のエンティティのフィールドを定義します。 たとえば、Customer クラスに Address というフィールドを追加できます。 新しいクラスを追加するか、オブジェクト リレーショナル デザイナー (O/R デザイナー) などのツールを使用して作成した既存のクラスを使用することができます。 エンティティの名前と、そのエンティティを表すクラスの名前は、一致している必要はありません。 モデルでメソッドを定義するときにクラスをエンティティに関連付けます。

メソッドの追加

ユーザーが、モデルに基づくリストや Web パーツの情報を表示、追加、更新、または削除すると、そのモデルのメソッドが BDC サービスによって呼び出されます。 ユーザーが実行できる各タスクに対応するメソッドをモデルに追加する必要があります。 メソッドを作成するには、[BDC メソッドの詳細] ウィンドウで 5 種類の基本メソッドのいずれかを選択します。 次の表に、BDC モデルの 5 つの基本メソッドを示します。

メソッド

説明

Finder

エンティティ インスタンスのコレクションを返します。 ユーザーがリストや Web パーツを開くと呼び出されます。 詳細については、「方法: Finder メソッドを追加する」を参照してください。

Specific Finder

特定のエンティティ インスタンスを返します。 ユーザーがリストの特定の項目の詳細を表示すると呼び出されます。 詳細については、「方法: SpecificFinder メソッドを追加する」を参照してください。

Creator

エンティティのデータ ソースに新しいデータを追加します。 ユーザーが、モデルに基づくリストのリボンにある [新しいアイテム] ボタンをクリックすると呼び出されます。 詳細については、「方法: Creator メソッドを追加する」を参照してください。

Updater

リストのデータを変更します。 ユーザーがリストの情報を更新すると呼び出されます。 詳細については、「方法: Updater メソッドを追加する」を参照してください。

Deleter

データを削除します。 ユーザーがリストの項目を削除すると呼び出されます。 詳細については、「方法: Deleter メソッドを追加する」を参照してください。

メソッド パラメーターの定義

メソッドを作成すると、そのメソッドの種類に対応する入力パラメーターと出力パラメーターが自動的に追加されます。 これらのパラメーターはプレースホルダーにすぎないため、 ほとんどの場合は、正しい型のデータを渡したり返したりできるように変更する必要があります。 たとえば、Finder メソッドは既定で文字列を返しますが、 ほとんどの場合は、戻り値パラメーターを変更してエンティティのコレクションが返されるようにします。 そのためには、パラメーターの型記述子を変更します。 型記述子とは、パラメーターのデータ型を表す属性のコレクションです。 詳細については、「方法: パラメーターの型記述子を定義する」を参照してください。

Visual Studio では、モデル内のパラメーターの間で型記述子をコピーできます。 たとえば、GetCustomer メソッドの戻り値パラメーターに対して CustomerTD という型記述子を定義した場合、 BDC エクスプローラーでその CustomerTD 型記述子をコピーして CreateCustomer メソッドの入力パラメーターに貼り付けることができます。 これにより、同じ型記述子を何度も定義する必要がなくなります。

メソッド インスタンス

メソッドを作成すると、既定のメソッド インスタンスが自動的に追加されます。 メソッド インスタンスとは、メソッドへの参照とパラメーターの既定値です。 1 つのメソッドが複数のメソッド インスタンスを持つことができます。 各インスタンスは、メソッド シグネチャと一連の既定値の組み合わせです。 詳細については、「方法: パラメーターの型記述子を定義する」を参照してください。

プロジェクトを実行すると、SharePoint リストの上にあるドロップダウン リストにメソッド インスタンスが表示されます。 ユーザーは、そこでメソッド インスタンスを選択してデータを表示できます。

メソッド インスタンスに既定値を追加するには、モデルの XML を直接変更する必要があります。 詳細については、「DefaultValue (DefaultValue)」を参照してください。

フィルター記述子の追加

モデルのコンシューマーが、特定の条件に一致するエンティティのインスタンスを取得できるようにするには、 メソッドにフィルター記述子を追加します。 これにより、モデルのコンシューマーが、メソッドを実行する前に値を渡してメソッドの結果セットをフィルター処理できるようになります。 詳細については、「How to: Add Filter Parameters to Operations to Limit Instances from the External System (方法: 操作にフィルター パラメーターを追加して外部システムのインスタンスを制限する)」を参照してください。

SharePoint には、ユーザーがフィルター値を指定できるようにするための機能がいくつか用意されています。 たとえば、ビジネス データ Web パーツにはフィルター テキスト ボックスが用意されており、 ユーザーはそこに値を入力してリストのデータを制限できます。 メソッドにフィルター記述子を追加する方法の詳細については、「方法: Finder メソッドにフィルター記述子を追加する」を参照してください。

フィルター記述子のプロパティ

フィルター記述子では、[関連付けられた型記述子][名前]、および [型] の各プロパティの値を設定する必要があります。 その他のプロパティはすべて省略可能です。

[関連付けられた型記述子] プロパティは、フィルター記述子を入力パラメーターに関連付けます。 ユーザーが指定したフィルター値は、その入力パラメーターを使用してメソッドに渡されます。

[型] プロパティは、使用するフィルター パターンを表します。 SharePoint では、選択するフィルター パターンによって、ユーザー インターフェイス (UI) に表示されるテキストが変わります。 たとえば、Comparator フィルター パターンを選択すると、"" というテキストがビジネス データ Web パーツの上にコントロールとして表示されます。 各フィルター パターンの詳細については、「Types of Filters Supported by the BDC (BDC でサポートされているフィルターの種類)」を参照してください。

フィルター記述子のプロパティの詳細については、「FilterDescriptor (FilterDescriptor)」を参照してください。

既定値の指定

ユーザーが常にフィルター値を指定するとは限りません。 既定値を指定するには、メソッド インスタンスに既定値を追加するか、メソッドのコードで既定値を設定します。 メソッド インスタンスに既定値を追加する方法の詳細については、「MethodInstance (MethodInstance)」を参照してください。 メソッドのコードで入力パラメーターの既定値を設定する方法の例については、「方法: Finder メソッドにフィルター記述子を追加する」を参照してください。

モデルの検証

開発時にモデルを検証して、 モデルが正常に動作しなくなるような問題を特定できます。 それらの問題は、Visual Studio の [エラー一覧] に表示されます。

モデルを検証するには、BDC デザイナーを右クリックし、[検証] をクリックします。 エラーを修正するには、一覧のエラーをダブルクリックします。 UI のフォーカスが適切なフィールドに設定されます。

検証エラーは、モデルの規則に対する違反があった場合に発生します。 たとえば、型記述子の IsCollection プロパティが true に設定されているのに子の型記述子が存在しないと、検証エラーが発生します。 Visual Studio の [エラー一覧] に表示されたエラーの意味がわからない場合は、BDC モデルの規則を確認してください。 BDC モデルの規則の詳細については、「BDCMetadata Schema (BDCMetadata スキーマ)」を参照してください。

モデルを含むソリューションのデバッグ

コードは、Visual Studio の通常の方法でデバッグできます。 コードをデバッグするには、コード内の任意の場所にブレークポイントを設定し、デバッガーを起動します。 Visual Studio で SharePoint サイトが開かれ、 ビジネス データを使用するリストまたは Web パーツが SharePoint で作成されて、 コードをステップ実行できるようになります。 SharePoint プロジェクトのデバッグの詳細については、「SharePoint ソリューションのトラブルシューティング」を参照してください。

プロジェクトに追加したカスタム アセンブリのコードもデバッグできます。 ただし、カスタム アセンブリのコードをデバッグするには、アセンブリをソリューション パッケージに追加する必要があります。 詳細については、「方法: アセンブリを追加および削除する」を参照してください。

プロジェクトにカスタム アセンブリを追加する方法の詳細については、「方法: BDC 機能にカスタム アセンブリを含める」を参照してください。

BDC のセキュリティの構成

場合によっては、ソリューションをデバッグする前に SharePoint のセキュリティ設定を変更する必要があります。 これらの設定を変更するには、SharePoint 2010 サーバーの全体管理 Web サイトでビジネス データ接続サービス アプリケーションを開き、 [メタデータ ストアのアクセス許可の設定] ダイアログ ボックスで自分のユーザー アカウントを追加して、次のいずれかのオプションを選択します。

タスク

オプション

モデルを BDC サービスに配置する

編集

モデルで外部コンテンツ タイプ (エンティティ) を使用してリストと Web パーツを作成する

クライアントで選択可能

エンティティ データの作成、読み取り、更新、および削除を行う

実行

これらの設定の詳細については、「Business Data Connectivity Service を管理する」を参照してください。

個々のモデルや外部コンテンツ タイプのセキュリティ アクセス許可を設定することもできます。 モデルのセキュリティ アクセス許可の設定方法の詳細については、「BDC モデルを管理する」を参照してください。 外部コンテンツ タイプのセキュリティ アクセス許可の設定方法の詳細については、「外部コンテンツ タイプを管理する」を参照してください。

注意

これらの設定は、ローカル SharePoint サーバーでソリューションをデバッグする際に使用します。 運用 SharePoint サーバーで BDC 関連のセキュリティ設定を構成する方法の詳細については、「Business Connectivity Services のセキュリティの概要」を参照してください。

破損したモデルの取り消し

デバッガーを初めて起動したときにはモデル全体が SharePoint に配置されますが、 その後は、前回の配置以降に行われた変更で SharePoint 内のモデルが更新されます。

しかし、SharePoint に配置されたモデルを完全に取り消したい場合もあります。 たとえば、モデルが破損した場合などがこれに当たります。 モデルを SharePoint に再配置するには、モデルの [増分更新] プロパティを [False] に設定してからデバッガーを起動します。 [増分更新] プロパティは、モデルを表すノードを BDC エクスプローラーで選択すると [プロパティ] ウィンドウに表示されます。 既定では、モデルの名前は BdcModel1 です。

モデル内のエンティティの識別名の変更

モデルを配置した後で識別子の名前を変更すると、配置エラーが発生する場合があります。 モデルの [増分更新] プロパティを [False] に設定しても、このエラーを解決することはできません。 モデルを手動で取り消した後、ソリューションを再び配置する必要があります。 詳細については、「SharePoint ソリューションのトラブルシューティング」を参照してください。 最初にモデルを配置する前に、[増分更新] プロパティを [False] に設定しておくことで、このエラーを回避できます。

BDC モデル要素のドキュメント

エンティティやメソッドなどの項目を作成するたびに、Visual Studio によってモデルに XML 要素が追加されます。 要素の属性は、プロパティとして [プロパティ] ウィンドウに表示されます。 モデルのデザイン時に Visual Studio によって生成される要素や属性については、「BDCMetadata Schema (BDCMetadata スキーマ)」を参照してください。

関連トピック

タイトル

説明

BDC モデルのデザイン ツールの概要

BDC のモデルを視覚的にデザインできるツールについて説明します。

方法: モデルにエンティティを追加する

モデルに外部コンテンツ タイプ (エンティティ) を追加する方法について説明します。

方法: Finder メソッドを追加する

ユーザーがリストや Web パーツにエンティティの一覧を表示できるようにするメソッドを追加する方法について説明します。

方法: SpecificFinder メソッドを追加する

ユーザーが特定のエンティティの詳細を表示できるようにするメソッドを追加する方法について説明します。

方法: Creator メソッドを追加する

ユーザーがリストや Web パーツから直接データ ソースにレコードを追加できるようにするメソッドを追加する方法について説明します。

方法: Deleter メソッドを追加する

ユーザーがリストや Web パーツのユーザー インターフェイス (UI) オプションを使用してデータ ソースのデータを削除できるようにするメソッドを追加する方法について説明します。

方法: Updater メソッドを追加する

ユーザーがリストや Web パーツから直接データ ソースのデータ レコードを変更できるようにするメソッドを追加する方法について説明します。

方法 : メソッドにパラメーターを追加する

Visual Studio の [メソッドの詳細] ウィンドウを使用してメソッドに入力パラメーターと戻り値パラメーターを追加する方法について説明します。

方法: パラメーターの型記述子を定義する

モデルでパラメーターのデータ型を定義する方法について説明します。

方法: メソッド インスタンスを定義する

BDC が実行するメソッドのインスタンスを作成する方法について説明します。

方法: Finder メソッドにフィルター記述子を追加する

Finder メソッドで返されるインスタンスの数をユーザーが制限できるようにする方法について説明します。

エンティティ間の関連付けの作成

モデルのエンティティ間の関係を定義する方法について説明します。 それらの関係は、ビジネス データ Web パーツ、外部リスト、およびカスタム アプリケーションでユーザー インターフェイス (UI) に表示できます。

方法: エンティティ間に関連付けを作成する

モデルのエンティティ間の関係を定義する方法について説明します。

チュートリアル: ビジネス データを使用した SharePoint での外部リストの作成

SharePoint 外部リストに連絡先を表示するモデルを作成してテストする方法の詳細な手順について説明します。

SharePoint へのビジネス データの統合

BDC サービスのモデルの作成とデザインの概要を説明します。