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

Current version: 4.0

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

[!警告] エンティティ定義の追加または削除は非常に大きな影響を与える可能性があるため、細心の注意を払って実行する必要があります。 大きな力には大きな責任が伴います。 確信を持てない場合は、実行する前に問い合わせてください。

[!注] 次のコード例の client 変数は IMClient インスタンスを意味します。

スクリプト SDK を使用する場合、このインスタンスは自動的に作成され、MClient という名前が付けられます。

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

エンティティ定義の取得

エンティティ定義は、名前または ID によって取得できます。

RequestResponse
IEntityDefinition assetDefinition = await client.EntityDefinitions.GetAsync("M.Asset");
RequestResponse
IEntityDefinition assetDefinition = await client.EntityDefinitions.GetAsync(assetDefId);

エンティティ定義が存在しない場合、メソッドは null を返します。

[!注] 1 つ以上のエンティティ定義を取得するためのオーバーロードが多数あります。 また、名前を ID に解決する、またはその逆に解決することも可能です。 詳細な概要については、API のドキュメントを参照してください。

エンティティ定義の作成

エンティティ定義オブジェクトは直接インスタンス化でき、ファクトリは必要ありません。 次の例は、非常に単純なエンティティ定義の作成を示したものです。

RequestResponse
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 です。

[!注] EntityDefinitionStylelabs.M.Sdk.Models.Base から、プロパティ メンバーの定義は Stylelabs.M.Sdk.Models.Base.PropertyDefinitions からインポートできます。

エンティティ定義の更新

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

RequestResponse
long id = await client.EntityDefinitions.SaveAsync(definition);

返される ID は、エンティティ定義と同じ ID です。

エンティティ定義の削除

エンティティ定義は、名前または ID によって削除できます。

RequestResponse
await client.EntityDefinitions.DeleteAsync(definitionId);
RequestResponse
await client.EntityDefinitions.DeleteAsync("M.Demo.Definition");

Do you have some feedback for us?

If you have suggestions for improving this article,