【问题标题】:Retrieving related entities with early bound classes returns null检索具有早期绑定类的相关实体返回 null
【发布时间】:2013-03-20 05:56:05
【问题描述】:

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

我的印象是,由于 Opportunity 和 Activity 之间存在一对多的关系,所以这会抓取所有相关的活动,但它似乎并没有这样做。
我对 CRM 和 C# 还很陌生,所以任何关于我做错了什么的见解都值得赞赏!

【问题讨论】:

    标签: c# dynamics-crm-2011


    【解决方案1】:

    如果您使用早期绑定的类,首先创建数据上下文(在我的例子中是 XrmServiceContext)。您可以检索所有关于对象是您的机会 的 ActivityPointers。

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

    ActivityPointer 包含 ActivityId 和 ActivityTypeCode 如果您需要此集合中的某些特定活动。更多详情here.

    希望对你有帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-20
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      • 2017-05-20
      相关资源
      最近更新 更多