在Dynamics CRM 2013中创建自定义实体时,您可以选择为该实体启用“活动”(即,在“实体”配置屏幕中,您可以选中“活动”复选框)。
这允许将活动记录链接到新的自定义实体。
我们有一个用C#开发的CRM插件,需要检查自定义实体是否启用了“活动”,因为插件需要创建链接到自定义实体记录的活动记录。
有没有办法检查实体是否以编程方式启用了“活动”?
答案 0 :(得分:7)
您可以使用RetrieveEntityRequest
查看实体是否已启用活动。 RetrieveEntityResponse
包含一个EntityMetadata
对象,其中包含OneToManyRelationships
。
当实体与 activitypointer 实体有关系时,它会启用活动。
代码示例:
var metaResponse = (RetrieveEntityResponse)proxy.Execute(new RetrieveEntityRequest
{
EntityFilters = EntityFilters.Relationships,
LogicalName = "account",
RetrieveAsIfPublished = true
});
bool isActivityEnabled =
metaResponse.EntityMetadata.OneToManyRelationships
.Any(r => r.ReferencingEntity == "activitypointer");