1. WebクライアントSDK

エンティティ クライアント

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

このSDKは、エンティティに対してCRUD操作を実行するためのEntities clientを提供します。

メモ

次のコード例のclient変数は、IMClientインスタンスを参照します。Web SDKを使用する場合、変数名は自由に選択できますが、ドキュメントではインスタンス化時にclientとも呼ばれます。

エンティティを取得する

次のメソッドは、エンティティをidで取得します。

IEntity entity = await MClient.Entities.GetAsync(entityId);

エンティティが存在しないか、ユーザーがエンティティを読み取るための十分な権限を持っていない場合、メソッドはnullを返します。

手記

エンティティをID、識別子、または定義で読み込むための多くのオプションがあります。さまざまなオプションの詳細については、APIリファレンスIEntitiesClientを参照してください。

手記

エンティティをロードするときにロード設定を渡すことができます。読み込み設定の詳細については、読み込み設定の節を参照してください。

エンティティの作成

エンティティは、EntityFactoryを使用してのみインスタンス化できます。

次のスニペットでは、Assetエンティティが (ローカルに) 作成されます。

IEntity asset = await MClient.EntityFactory.CreateAsync("M.Asset");
asset.SetPropertyValue("Title", "AssetName");

次のスニペットでは、ローカルに作成されたアセットエンティティがサーバーに送信され、検証および永続化されます。

long id = await MClient.Entities.SaveAsync(asset);

返されるidは、新しく作成されたエンティティのIDです。このエンティティの最新バージョンを取得するには、idを使用してサーバーから再度取得します。

エンティティの更新

エンティティの作成と同様に、変更を実行した後、エンティティクライアントでsaveメソッドを使用します。

long id = await MClient.Entities.SaveAsync(asset);

返されるidは、エンティティのIDと同じです。このエンティティの最新バージョンを取得するには、idを使用してサーバーから再度取得します。

エンティティの削除

エンティティの削除は、エンティティ クライアントのDeleteメソッドを使用して実現できます。エンティティIDは、削除のために指定する必要があります。

await MClient.Entities.DeleteAsync(entityId);

エンティティのコピー

エンティティは、エンティティ クライアントのCopyメソッドを使用してコピーできます。

await MClient.Entities.CopyAsync(entityId, entityCopyOptions);

エンティティをコピーするには、コピー プロファイル 、または上書き、保持、無視、削除などのPropertiesRelationsを指定します。

次のスニペットでは、既存のM.Assetエンティティに基づいて新しいM.Assetエンティティが作成されています。新しいエンティティでは、元のエンティティのTitleは新しい値で上書きされ、Descriptionは無視され、FileNameは保持され、AssetTypeToAsset関係は保持され、LocalizationToAssetは削除されます。

var options = new EntityCopyOptionsBuilder()
  .WithProperty("Title", PropertyCopyMethod.Overwrite, "new title")
  .WithProperty("Description", PropertyCopyMethod.Ignore)
  .WithProperty("FileName", PropertyCopyMethod.Keep)
  .WithRelation("AssetTypeToAsset", RelationCopyMethod.Keep)
  .WithRelation("LocalizationToAsset", RelationCopyMethod.Remove)
  .Build();

var copyId = await MClient.Entities.CopyAsync(originalEntityId, options);

返されるidは、新しく作成されたエンティティのIDです。

次のスニペットでは、既存のM.Assetエンティティが別の既存のM.Assetエンティティに基づいて更新されます。新しいエンティティでは、元のエンティティのTitleは新しい値で上書きされ、Descriptionは無視され、FileNameAssetTypeToAssetリレーションは保持され、LocalizationToAssetは削除され、AssetMediaToAssetリレーションは無視されます。

 var options = new EntityCopyOptionsBuilder()
  .WithDestinationEntityId(destinationEntityId)
  .WithProperty("Title", PropertyCopyMethod.Overwrite, "new title")
  .WithProperty("Description", PropertyCopyMethod.Ignore)
  .WithProperty("FileName", PropertyCopyMethod.Keep)
  .WithRelation("AssetTypeToAsset", RelationCopyMethod.Keep)
  .WithRelation("LocalizationToAsset", RelationCopyMethod.Remove)
  .WithRelation("AssetMediaToAsset", RelationCopyMethod.Ignore)
  .Build();

var copyId = await MClient.Entities.CopyAsync(originalEntityId, options);

返されるIDは、宛先エンティティのIDと同じです。

次のスニペットでは、既存のM.Contentエンティティに基づいて新しいM.Contentエンティティが作成されています。コピー、無視、保持されるPropertiesRelationsは、M.Contentエンティティの標準搭載のDraftsコピープロファイルで定義されます。

var options = new EntityCopyOptionsBuilder()
  .WithCopyProfile(30102) // ID of the OOB Drafts Copy Profile for M.Content entities
  .Build();

var copyId = await MClient.Entities.CopyAsync(originalEntityId, options);

返されるidは、新しく作成されたエンティティのIDです。

この記事を改善するための提案がある場合は、 お知らせください!