プロパティについて

結合プロパティ

結合プロパティは、アプリケーションデータベーステーブルに保存されている値を持つ永続プロパティです。これは、最も一般的なプロパティ区分です。

派生プロパティ

派生プロパティは、SQL 式から派生した値を持つプロパティです。値の計算、サブ照会の実行、または SQL 機能の呼び出しには、派生プロパティを使用します。

非結合プロパティ

非結合プロパティは、データベーステーブルに保存されない値を持つプロパティなので、永続プロパティではありません。フォームから IDO に一時値を渡すには、この区分のプロパティを使用します。このデータは、挿入、更新、または削除のカスタムメソッドで使用できます。

サブコレクションプロパティ

サブコレクションプロパティは、親 IDO からフィルタされる子 IDO を指定するプロパティです。サブコレクションは、返したコレクションと関連付けられている子 IDO であり、親 IDO に属するプライマリコレクションに返したオブジェクトに依存します。サブコレクションは、データの階層的関係(または親子関係)を定義する主要メカニズムです。IDO 間の一対多数の関係を実装するには、サブコレクションを使用します。

サブコレクションの良い例は、ビジネスアプリケーションにおけるオーダ明細の典型的実装です。その場合、各オーダはオーダ明細のコレクションを返し、システムは、オーダ明細をオーダ IDO のサブコレクションとして定義します。

ただし、オーダ明細はオーダに依存するので注意してください。つまり、オーダ明細は、それらの親オーダから独立して存在することはできません。ただし、これはサブコレクション一般の要件ではありません。たとえば、アカウント管理者のコレクションのサブコレクションとして、顧客のコレクションを定義するとします。その場合、各アカウント管理者は、担当する顧客のセットを持ちますが、顧客は、そのアカウント管理者から完全に独立して存在できます。したがって、顧客のセットを新しいアカウント管理者に移動し、そのセットの古いアカウント管理者をシステムから削除することが可能です。

サブコレクションは、再帰的なデータ構造の実装にも使用できます。この良い例は、製品構造または部品表の典型的実装です。製品構造レコードには、通常、それ自体が製品構造レコードである子エンティティのセットへの参照が含まれます。この場合、製品構造のサブコレクションで製品構造 IDO を定義できます。

サブコレクションを定義するには、まず、子 IDO の特性を定義するコレクションクラスを定義する必要があります。次に、親 IDO 上にサブコレクションプロパティを作成することによって、子 IDO/親 IDO 間の関係を設定する必要があります。オーダとオーダ明細の場合は、オーダのコレクションとオーダ明細のコレクションを定義します。次に、オーダの IDO にサブコレクションプロパティを定義することで、これら 2 つのコレクションの関係を定義します。