查找 Dynamics CRM 实体属性的依赖关系

shy*_*kov 6 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);
Run Code Online (Sandbox Code Playgroud)

给出阴性结果。我认为使用属性MetadataIdas是不正确的ObjectIdObjectId不过属性好像是查不到的。

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

小智 3

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