エンティティ定義クライアント
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
この SDK は、エンティティ定義に対して CRUD 操作を実行するエンティティ定義クライアントを提供しています。
[!警告] エンティティ定義の追加または削除は非常に大きな影響を与える可能性があるため、細心の注意を払って実行する必要があります。 大きな力には大きな責任が伴います。 確信を持てない場合は、実行する前に問い合わせてください。
[!注] 次のコード例の
client
変数はIMClient
インスタンスを意味します。スクリプト SDK を使用する場合、このインスタンスは自動的に作成され、
MClient
という名前が付けられます。Web SDK を使用する場合、変数名は自由に選択できますが、ドキュメントの例では
client
という名前が使われています。
エンティティ定義の取得
エンティティ定義は、名前または ID によって取得できます。
IEntityDefinition assetDefinition = await client.EntityDefinitions.GetAsync("M.Asset");
IEntityDefinition assetDefinition = await client.EntityDefinitions.GetAsync(assetDefId);
エンティティ定義が存在しない場合、メソッドは null
を返します。
[!注] 1 つ以上のエンティティ定義を取得するためのオーバーロードが多数あります。 また、名前を ID に解決する、またはその逆に解決することも可能です。 詳細な概要については、API のドキュメントを参照してください。
エンティティ定義の作成
エンティティ定義オブジェクトは直接インスタンス化でき、ファクトリは必要ありません。 次の例は、非常に単純なエンティティ定義の作成を示したものです。
IEntityDefinition definition = new EntityDefinition
{
Name = "M.Demo.Definition",
DisplayTemplate = "{M.Demo.Definition.Name}"
};
var defaultGroup = new MemberGroup { Name = "Default" };
defaultGroup.MemberDefinitions.Add(new StringPropertyDefinition
{
Name = "M.Demo.Definition.Name",
IsUnique = true
});
definition.MemberGroups.Add(defaultGroup);
long id = await client.EntityDefinitions.SaveAsync(definition);
返される ID は、新しく作成されたエンティティ定義の ID です。
[!注]
EntityDefinition
はStylelabs.M.Sdk.Models.Base
から、プロパティ メンバーの定義はStylelabs.M.Sdk.Models.Base.PropertyDefinitions
からインポートできます。
エンティティ定義の更新
エンティティ定義の作成と同様に、変更を実行した後で、エンティティ定義クライアントに対して「save」メソッドを使用します。
long id = await client.EntityDefinitions.SaveAsync(definition);
返される ID は、エンティティ定義と同じ ID です。
エンティティ定義の削除
エンティティ定義は、名前または ID によって削除できます。
await client.EntityDefinitions.DeleteAsync(definitionId);
await client.EntityDefinitions.DeleteAsync("M.Demo.Definition");