长话短说,我正在尝试使用在预操作阶段执行的插件来获取查找值的名称。
虽然所讨论的属性/字段包含实体引用对象,但由于某种原因,该对象仅包含实体引用的逻辑名称和 ID,但不包含名称值(为空)...
有谁知道这是为什么,以及是否有比只为检索名称字段而对数据库进行服务调用更好的解决方法?
长话短说,我正在尝试使用在预操作阶段执行的插件来获取查找值的名称。
虽然所讨论的属性/字段包含实体引用对象,但由于某种原因,该对象仅包含实体引用的逻辑名称和 ID,但不包含名称值(为空)...
有谁知道这是为什么,以及是否有比只为检索名称字段而对数据库进行服务调用更好的解决方法?
您可以执行以下操作来获取实体的属性:
string attribute_name = String.Empty;
Entity entity = (Entity)context.InputParameters["Target"];
EntityReference _id = (EntityReference)entity["AttributeName"];
ColumnSet col = new ColumnSet(new String[] { "name" });
var NameRetrieved = service.Retrieve("EntityName", _id.Id, col);
if (NameRetrieved != null)
{
if (NameRetrieved.Attributes.Contains("name"))
{
attribute_name = (string)productRetrieved["name"];
}
else
{
attribute_name = "";
}
}
您可以检查Entity.FormattedValues 集合是否包含您需要的属性。