我很难从C#代码中找到CRM实体属性的依赖关系,但我找不到正确的方法。
这样的代码:
var attributeRequest = new RetrieveAttributeRequest
{
EntityLogicalName = "invoice",
LogicalName = "billto_city"
};
var attributeResponse = (RetrieveAttributeResponse)proxy.Execute(attributeRequest);
var dependenciesRequest = new RetrieveDependenciesForDeleteRequest
{
ObjectId = (Guid)attributeResponse.AttributeMetadata.MetadataId,
ComponentType = (int)attributeResponse.AttributeMetadata.AttributeType
};
var dependenciesResponse = (RetrieveDependenciesForDeleteResponse)proxy.Execute(dependenciesRequest);
给出负面结果。我认为将MetadataId
属性用作ObjectId
是不正确的。但似乎无法找到ObjectId
属性。
以前有人遇到过类似的任务吗?你是怎么解决的?
答案 0 :(得分:1)
您使用 AttributeMetadata.AttributeType 属性,它指示属性的类型(字符串,查找,选项列表,布尔等),但您需要 componenttype 值,这是解决方案组件的类型(实体,属性,关系,选项集等)。在您的情况下,它是2.可以找到组件类型及其代码的完整表格here。