检索具有早期绑定类的相关实体返回null

本文关键字:实体 返回 null 绑定 检索 | 更新日期: 2023-09-27 18:04:50

一些背景:我正在用c#编写CRM 2011的自定义工作流活动,我使用的是由CrmSvcUtil.exe生成的早期绑定类。我的插件把一个机会作为它的唯一输入,应该检查它的相关活动,然后在机会上设置一个字段来表示这个机会是否需要更多的跟进。我目前的问题是,每当我试图检索相关活动时,结果是null。下面是我代码的相关部分:
Opportunity currentOpportunity = (Opportunity) service.Retrieve(context.PrimaryEntityName, context.PrimaryEntityId, new ColumnSet(true));
currentOpportunity.Opportunity_ActivityPointers

我的印象是,既然机会和活动之间存在一对多的关系,那么这将抓住所有相关的活动,但它似乎并没有这样做。
我仍然是CRM和c#的新手,所以任何关于我做错的地方的见解都是赞赏的!

检索具有早期绑定类的相关实体返回null

如果您正在使用早期绑定类,首先创建数据上下文(在我的情况下,它是XrmServiceContext)。您可以检索所有活动指针,其中关于对象是您的机会

OrganizationServiceProxy orgserv;    
using(var xrm = new XrmServiceContext(orgserv))
    {
     //Opportunity currentOpportunity = ...
     IQueryable<ActivityPointer> activityPointers = xrm.ActivityPointerSet.Where(a =>
       a.RegardingObjectId == currentOpportunity.ToEntityReference());
    }

ActivityPointer包含ActivityId和ActivityTypeCode,如果你需要从这个集合中获得一些特定的活动。

希望有帮助