正在获取实体的逻辑名称
本文关键字:获取 实体 | 更新日期: 2023-09-27 18:21:52
我正在使用延迟绑定,当创建帐户时,我也在创建一个电话。我还发现了一个非常有用的例子。唯一让我困扰的是以下几行:
if (context.OutputParameters.Contains("id"))
{
Guid id = new Guid(context.OutputParameters["id"].ToString());
String type = "account";
followup["regardingobjectid"] = new EntityReference(type, id);
}
假设打电话的原因是一个帐户。是的,但将来可能不会。我试着得到如下类型:
if (context.OutputParameters.Contains("id"))
{
Guid id = new Guid(context.OutputParameters["id"].ToString());
String type = context.OutputParameters["logicalname"] as String;
followup["regardingobjectid"] = new EntityReference(type, id);
}
但后来我错误地告诉我,这样一个领域是不存在的。字段名称错误吗?还是我使用了所有错误的方法来检索实体的逻辑名称(即实体类型的实际名称,无论是帐户、联系人还是crazydonkeyass)?
此外,我不完全确定OutputParameters是否是合适的查找位置。建议?
这在context.PrimaryEntityName
中可用
编辑
这是示例中检查这是否为账户的部分
// Obtain the target entity from the input parameters.
Entity entity = (Entity)context.InputParameters["Target"];
// Verify that the target entity represents an account.
// If not, this plug-in was not registered correctly.
if (entity.LogicalName != "account")
return;
我想这就是为什么他们有账户硬编码(丑陋!)