最近のアクセス:
[Collection] プロパティ

データプロバイダーが返す出力に複数のインスタンスがあるかどうかを指定します。

False
True

説明

構造化データタイプ (SDT) を定義して、SDT をデータプロバイダーのソースにドラッグする場合について考えてみます。この操作を行うと、データプロバイダーの [ Output ] プロパティには SDT の名前が自動的に設定されます。つまり、データプロバイダーはロードした構造体 (SDT に基づくデータタイプ) を返すので、同じタイプの変数で出力を受け取る (ユーザーはデータプロバイダーを呼び出した場所で受け取る) 必要があります。
SDT がコレクションではないけれども、そのデータタイプのコレクションをデータプロバイダーでロードして結果を返したい場合は、データプロバイダーの [ Collection ] プロパティを True に設定します。次に、データプロバイダーのソースで複数のインスタンスをロードします。最後に、データプロバイダーを呼び出した場所で、データプロバイダーが返す結果を受け取る (受け取る変数は SDT に基づく変数のコレクションとして設定する) 必要があります。
つまり、このプロパティを使用すると、SDT の元の定義を変更することなく、特定のデータプロバイダーで SDT 定義の複数のインスタンスをロードして返すように設定することができます。
ビジネスコンポーネントトランザクションの場合も同様です。この種のオブジェクトをデータプロバイダーのソースにドラッグすると、データプロバイダーの [ Output ] プロパティにはビジネスコンポーネントの名前が自動的に設定されます。しかし、そのデータタイプのコレクションをロードして結果を返したい場合は、データプロバイダーの [ Collection ] プロパティ を True に設定する必要があります。 
代わりのソリューションがある SDT (SDT の場合は、SDT をコレクションとして定義してデータプロバイダーのソースにドラッグすることで出力がコレクションになる) とは異なり、データプロバイダーを使用してビジネスコンポーネントのタイプの複数のインスタンスをロードして結果を返すには、このプロパティを True に設定する方法しかありません。
前述のとおり、データプロバイダーのソースではビジネスコンポーネントのタイプの複数インスタンスをロードする必要があります。その後、データプロバイダーを呼び出した場所で、データプロバイダーが返す結果を受け取る (受け取る変数はビジネスコンポーネントに基づく変数のコレクションとして設定する) 必要があります。最後に考慮すべき重要な点は、データプロバイダーを呼び出すオブジェクトでデータプロバイダーから返された結果を処理し、Insert メソッドまたは InsertOrUpdate メソッドを実行してデータベースに挿入する必要があるということです。 

実行時/設計時

このプロパティは設計時にのみ適用されます。

1) SDT のコレクションをロードして返すデータプロバイダーオブジェクトのサンプル
次ようなトランザクションについて考えます:
Customer
{
   CustomerId*
   CustomerName
}
Data Provider オブジェクトを使用して customesr データのコレクションをロードする 2 つの方法を示します。
1.1) 次の構造化データタイプ (コレクションではない) を定義するとします。
イメージ:41210.png
次に、データプロバイダー (DPCustomersList) を作成し、そのソースに SDT をドラッグします。
イメージ:41213.png
登録されている customers データをすべてロードする場合は、データプロバイダーのソースとプロパティを次のように変更します:
イメージ:41214.png
操作の目的を明示するためにベーストランザクション (Customer) が記述されていることに注意してください。また、今回のような場合、SDT のプロパティ名が項目属性と同名なので、明示的に割り当てを記述する必要はありません。
データプロバイダーが複数のインスタンスを返すように設定するには、上記のように [ Collection ] プロパティを True にします。この結果、[ Collection Name ] プロパティが自動的に追加され、返されるコレクションの名前がデフォルトで入力されます (ユーザーはこの値を更新できます)。
1.2) 次に、コレクションの構造化データタイプを下記のように定義するとします。
イメージ:41225.png
その後、データプロバイダー (DPCustomersList2) を作成して、SDT をそのソースにドラッグします。
イメージ:41226.png
データプロバイダーの [ Output ] プロパティには、SDT の名前が自動的に設定されます。つまり、データプロバイダーはロードした構造体 (SDT に基づくデータタイプ) を返します。ユーザーはコレクションをロードして返すことになるので、 [ Collection ] プロパティの値を変更する必要はありません。
ソースを書くだけで準備完了です。
イメージ:41228.png

2) ビジネスコンポーネントのコレクションをロードして返す Data Provider オブジェクトのサンプル
ビジネスコンポーネントの Insert メソッド」に記載されているサンプル 4 を参照してください。

適用範囲

オブジェクト: Data Provider
対応しているプラットフォーム: Web (.NET、Java)、スマートデバイス (Android、iOS)


サブページ
Created: 20/01/09 22:23 by Admin Last update: 21/05/20 08:03 by Admin
カテゴリ
Powered by GXwiki 3.0