LoginSignup
0
0

More than 1 year has passed since last update.

【クエリビルダ】カスタムJOINを定義してみる

Last updated at Posted at 2022-03-30

ご存知のとおり Sharperlightは、独自のデータモデル階層を使用してデータソースと会話をしています。データモデル作成時には、対象となるデータソースに定義されているJOIN情報は、その他のスキーマ同様データモデルに取り込まれます。
しかしながら後々JOINの追加が必要なケースが発生します。通常そういった場合は、データモデルの更新で対応しますが、稼働中の本システム等では、更新には数々の監査プロセス等をこなさなくてはいけない場合が多々あります。
そのような場合、Sharperlightサービスを再起動するだけで済む簡易な方法が用意されています。
それがここで説明するカスタムJOINです。データモデルに定義されるのではなく、独立したものとしてSharperlightのシステムデータベースに保存されます。では早速見ていきましょう。
先ずはクエリビルダを起動します。
カスタムJOINを定義する対象となる製品とテーブルを選択します。
2022-03-30 Figure 02.png
選択領域にフィールド一覧が階層表示されます。Products\製品テーブルへのJOINが既に存在します。これは対象となるデータモデルにこのJOINが既に定義されていることを示しています。
2022-03-30 Figure 01.png
ここではカスタムJOINの紹介のため、同じJOINをカスタムJOINとして設定します。
製品Idフィールドを選択します。右クリックメニューを表示し、[カスタマイズ] -> [結合]を追加を選択します。
専用のダイアログが開くので、Join To Tableプロパティの右端にあるボタンをクリックします。
2022-03-30 Figure 04.png
結合先のテーブル、ここでは製品テーブルを選択し、[OK]ボタンを押します。
5022-03-30 Figure 04.png
次に、SQLJoinプロパティの右端のボタンをクリックします。
5022-03-30 Figure 05.png
結合するフィールドを指定し、[Add]ボタンをクリックするとJOIN句が生成されます。[OK]を押して確定します。
5022-03-30 Figure 06.png
これでカスタムJOINの作成は終了です。[OK]を押して保存しましょう。
作成されたカスタムJOINがフィールド一覧に追加されています。カスタムJOINは青色で表示されます。しかし、データモデルで定義されている[製品]テーブルへのJOINと同じ説明なので間違いやすいですね。機能は同じだけどね。
カスタムJOINの説明を変更してみましょう。
カスタムJOINを選択し、右クリックメニューから[カスタマイズ] -> [編集]を選択します。
Descriptionプロパティを次のように変更します。
2022-03-30 Figure 08.png
[OK]を押して保存すると、フィールド一覧ではこのように識別しやすくなります。
2022-03-30 Figure 09.png
:postbox:Sharperlight

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0