查找Dynamics CRM实体属性的依赖项

时间:2014-03-21 14:58:22

标签: c# dynamics-crm-2011

我很难从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属性。

以前有人遇到过类似的任务吗?你是怎么解决的?

1 个答案:

答案 0 :(得分:1)

您使用 AttributeMetadata.AttributeType 属性,它指示属性的类型(字符串,查找,选项列表,布尔等),但您需要 componenttype 值,这是解决方案组件的类型(实体,属性,关系,选项集等)。在您的情况下,它是2.可以找到组件类型及其代码的完整表格here