1. エンティティ

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

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

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

この SDK は、エンティティに対して CRUD 操作を実行するエンティティ クライアントを提供しています。

注意

次のコード例の client 変数は IMClient インスタンスを意味します。Web SDK を使用する場合、変数名は自由に選択できますが、ドキュメントの例では client という名前が使われています。

エンティティの取得

次のメソッドは、ID によってエンティティを取得します。

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

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

注意

ID、識別子、または定義によってエンティティを読み込むために複数のオプションが用意されています。各オプションの詳細については、API リファレンス ドキュメントIEntitiesClient を参照してください。

注意

エンティティを読み込むときに、読み込み設定を渡すことができます。読み込み設定の詳細については、読み込み設定セクションを参照してください。

エンティティの作成

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

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

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 エンティティに基づいて作成されています。新しいエンティティでは、元のエンティティのタイトルが新しい値で上書きされます。説明は無視され、ファイル名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 エンティティに基づいて更新されています。新しいエンティティでは、元のエンティティのタイトルが新しい値で上書きされます。説明は無視され、ファイル名AssetTypeToAsset リレーションと同様に保持されます。また、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 です。

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