荷重構成
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
SDKはロード構成とロードオプションを用いて以下を指定します:
- エンティティを読み込む必要があるかどうかも問題です。
- どの文化にエンティティを読み込む必要があるか。
- エンティティにどのメンバーをロードするか。
!注ロード構成はStylelabs.M.Framework.Essentials.LoadConfigurationsに位置しています。ロードオプションはStylelabs.M.Framework.Essentials.LoadOptionsにあります。
!ヒントサーバーのオーバーヘッドを最小限に抑えるために、ロードオプションや設定を使って最小限のデータロードを心がけてください。
このセクションではまず異なる負荷オプションを説明し、次に負荷設定と負荷オプションの使い方を説明します。
ロードオプション
ロードオプションは、特定のアイテムをどのように読み込むかを指定する原子単位のようなものです。現在サポートされているロードオプションは以下の通りです:
- 培養負荷オプション
- プロパティロードオプション
- 関係負荷オプション
すべてのロードオプションには、一般的なユースケース向けにデフォルト、静的、読み取り専用インスタンスがあります。また、読み込みオプションにはコピーコンストラクタがあります。これにより読み取り専用ロードオプションをコピーし、変更することができます。
上記のすべてのロードオプションクラスは、以下の通りの列挙LoadOption性質を持っています。
- None
- Default
- Custom
- All
Customに設定されている場合、オブジェクトはPropertyLoadOptionのプロパティ名のリストを提供してロードするものを指定する必要があります。LoadOptionがCustomに設定されていない場合、リストは無視されます。
培養負荷オプション
以下はデフォルトのカルチャーロードオプションです:
- CultureLoadOption.All 登録済みのすべての培養物をSitecore Content Hubに読み込みます。
- CultureLoadOption.Default Sitecore Content Hubのデフォルトカルチャーを読み込みます。
- CultureLoadOption.None 培養はほとんどありません。
!注エンティティが培養なしでロードされた場合、そのエンティティには文化依存のプロパティは存在しません。エンティティが特定の文化セットにロードされた場合、文化依存的なプロパティはその文化でのみ利用可能になります。
特定の培養セットを読み込むには、以下のいずれかの方法を使って新しいCultureLoadOptionを作成します。
- ローカレ識別子(LCID)をカンマ区切られたリストとして渡すことで:
import { CultureLoadOption } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/querying/culture-load-option";
var cultures = "en-US", "nl-BE" ;
new CultureLoadOption(cultures);
- CultureInfoインスタンスをカンマ区切られたリストとして渡すことで:
import { CultureLoadOption } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/querying/culture-load-option";
var cultures: CultureInfo = "en-US", "nl-BE" ;
new CultureLoadOption(cultures);
プロパティロードオプション
以下はデフォルトのプロパティロードオプションです:
- PropertyLoadOption.All エンティティ上のすべてのプロパティを読み込みます。
- PropertyLoadOption.None エンティティには何のプロパティも読み込まれません。
特定のプロパティセットを読み込むには、以下のいずれかの方法で新しいPropertyLoadOptionを作成します。
- プロパティ名はカンマ区切りリストとして渡します。
import { PropertyLoadOption } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/querying/property-load-option";
var names = "propertyName1", "propertyName2" new PropertyLoadOption(names);
- 物件名の任意の種類のコレクション( IEnumerableから派生します)を渡します。
import { PropertyLoadOption } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/querying/property-load-option";
new PropertyLoadOption("propertyName1");
関係負荷オプション
以下はデフォルトの関係式ロードオプションです:
- RelationLoadOption.All エンティティ上のすべてのリレーションを読み込みます。
- RelationLoadOption.None エンティティにリレーションシップをロードしません。
特定の関係セットを読み込むには、以下のいずれかの方法を使って新しいRelationLoadOptionを作成します。
- 関係名はカンマ区切られたリストとして渡します。
import { RelationLoadOption } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/querying/relation-load-option";
var names = "relationName1", "relationName2" new RelationLoadOption(names);
- 関係名の任意のタイプの集合( IEnumerableから導出)を渡します。
import { RelationLoadOption } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/querying/relation-load-option";
new RelationLoadOption("relationName1");
荷重構成
荷重構成は複数の荷重オプションを集約する分子単位のようなものです。
!注読み込み設定もデフォルトの設定値を持ち、コピーコンストラクタをサポートしています。
!注QueryとLoadConfigurationが分かれて以来、IQueryLoadConfigurationは内部でのみ使用すべきSDK。
エンティティロード構成
構成は以下の通りです:
- CultureLoadOption
- PropertyLoadOption
- RelationLoadOption
以下はデフォルトのエンティティロード設定です:
- EntityLoadConfiguration.Minimal 文化、プロパティ、関係を持たないエンティティをロードします。利用可能なのはシステムプロパティのみ(例: ID、 Definition、 Created on、 Created by)。
- EntityLoadConfiguration.Default デフォルトの文化にエンティティを読み込み、すべてのプロパティをロードし、リレーションは一切含めません。
- EntityLoadConfiguration.DefaultCultureFull デフォルトの文化にエンティティを読み込み、すべてのプロパティと関係を読み込みます。
- EntityLoadConfiguration.Full すべての文化、すべてのプロパティ、すべての関係にエンティティを読み込みます。
カスタム構成は以下の方法で作成されます:
import { EntityLoadConfiguration } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/querying/entity-load-configuration"; import { CultureLoadOption } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/querying/culture-load-option"; import { PropertyLoadOption } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/querying/property-load-option"; import { RelationLoadOption } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/querying/relation-load-option";
new EntityLoadConfiguration( CultureLoadOption.Default, new PropertyLoadOption( "Title", "FileName" ), new RelationLoadOption( "AssetTypeToAsset" ) );
この例では、文化を持たないエンティティにTitleおよびFileNameプロパティ、そしてAssetTypeToAsset関係をロードします。
!注また、構造体の代わりにプロパティを使ってロードオプションを設定することも可能です。
!注EntityLoadConfigurationが指定されていない場合、SDKは常にDefault構成を使用します。
エンティティロード構成ビルダー
IEntityLoadConfigurationには、荷重構成を簡単に作成・拡張できるビルダーが付属しています。
以下の例は最小荷重構成から始まりますが、2つの関係式を加えています。
import { EntityLoadConfiguration } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/querying/entity-load-configuration";
EntityLoadConfiguration.Minimal.builder().withRelations("Relation1", "Relation2").build();
これは複数の部分で構成されています。
- EntityLoadConfiguration.Minimal デフォルトで提供されたロード構成から始まります。
- Builder() - 新しい構成を作るには、ビルダーを呼ぶ必要がある。
- WithRelations(new { "Relation1", "Relation2" }) ビルダー内で荷重構成を変更すること。これは他のすべてのビルダーメソッドと連携させることができます。
- .Build() ビルドプロセスを完了し、最終的なロード設定を受け取ります。